1、分别向Set集合以及List集合中添加“A”、“a”、“c”、“C”、“a”5个元素,观察重复值“a”能否在List集合以及Set集合中成功添加。
1 package org.hanqi.practise; 2 import java.util.*; 3 public class Test2 { 4 5 public static void main(String[] args) { 6 7 Set<String> s = new HashSet<String>(); 8 s.add("A"); 9 s.add("a"); 10 s.add("c"); 11 s.add("C"); 12 s.add("a"); 13 if(s.add("a")) 14 { 15 System.out.println("成功添加a"); 16 } 17 else 18 { 19 System.out.println("添加a失败"); 20 } 21 for(String t:s) 22 { 23 System.out.print(" "+t); 24 } 25 System.out.println(); 26 System.out.println("s的长度="+s.size()); 27 28 List<String> l = new ArrayList<String>(); 29 l.add("A"); 30 l.add("a"); 31 l.add("c"); 32 l.add("C"); 33 l.add("a"); 34 for(String t:l) 35 { 36 System.out.print(" "+t); 37 } 38 System.out.println(); 39 System.out.println("s的长度="+l.size()); 40 } 41 }
运行结果为:
结论:重复值“a”能在List集合中成功添加,而不能在Set集合中成功添加。
2、创建Map集合,创建Emp对象,并将创建的Emp对象添加到集合中(Emp对象的id作为Map集合的键),并将id为005的对象从集合中移除。
创建Emp类:
1 package org.hanqi.practise; 2 3 public class Emp { 4 5 private String id; 6 private String name; 7 public String getId() { 8 return id; 9 } 10 public void setId(String id) { 11 this.id = id; 12 } 13 public String getName() { 14 return name; 15 } 16 public void setName(String name) { 17 this.name = name; 18 } 19 public Emp(String id, String name) { 20 super(); 21 this.id = id; 22 this.name = name; 23 } 24 }
创建MapTest类:
1 package org.hanqi.practise; 2 3 import java.util.*; 4 5 public class MapTest { 6 7 public static void main(String[] args) { 8 9 Map<String,String>m = new HashMap<String,String>(); 10 Emp e = new Emp("005","张三"); 11 Emp e1 = new Emp("9527","华安"); 12 Emp e2 = new Emp("4927","刘建明"); 13 Emp e3 = new Emp("27149","陈永仁"); 14 m.put(e.getId(), e.getName()); 15 m.put(e1.getId(), e1.getName()); 16 m.put(e2.getId(), e2.getName()); 17 m.put(e3.getId(), e3.getName()); 18 for(String t:m.keySet()) 19 { 20 System.out.println(t+" "+m.get(t)); 21 } 22 23 System.out.println("移除编号005对象后的集合为:"); 24 m.remove("005"); 25 Set s = m.keySet(); 26 Iterator<String>it = s.iterator(); 27 while(it.hasNext()) 28 { 29 String str = it.next(); 30 String name = m.get(str); 31 System.out.println(str+" "+name); 32 } 33 } 34 }
运行结果为:
3、摇奖程序
1 package org.hanqi.practise; 2 3 import java.util.*; 4 5 public class Test3 { 6 7 public static void main(String[] args) { 8 9 Random r = new Random(); 10 Set<Integer> s = new HashSet<Integer>(); //若用Set集合可不必进行下面if的判断,因为Set集合本身就不允许有重复值 11 while(s.size() < 10) 12 { 13 int i = r.nextInt(20); 14 if(!s.contains(i)) 15 { 16 s.add(i); 17 } 18 } 19 System.out.println("从20里面随机抽取10个数:"); 20 for(Integer t:s) 21 { 22 System.out.print(" "+t); 23 } 24 } 25 }
运行结果为:
方法二:
1 List<Object> list= new ArrayList<Object>(); //从1-28之间随机抽取9个不重复的数字 2 3 for(int i=1;i<=28;i++) 4 { 5 list.add(i); 6 } 7 8 Random r=new Random(); 9 10 for(int i=0;i<9;i++) 11 { 12 int t=r.nextInt(list.size()); 13 14 System.out.print(" " +list.get(t)); 15 16 list.remove((list.get(t))); //这一步相当于得到一个数就移除list集合,这样就保证不会有重复的数值 17 }
4、随机产生四位验证码 0--9,a--z,A--Z随机取四个数作为验证码
1 //产生验证码 0--9,a--z,A--Z随机取四个数作为索引值产生验证码 2 3 List<Object> list= new ArrayList<Object>(); 4 5 for(int i=0;i<10;i++) 6 { 7 list.add(i); 8 } 9 for(int i=65;i<=90;i++) 10 { 11 list.add((char)i); 12 } 13 for(int i=97;i<=122;i++) 14 { 15 list.add((char)i); 16 } 17 18 for(Object t:list) 19 { 20 System.out.print(t); 21 } 22 23 System.out.println(); 24 25 Random r=new Random(); 26 27 //产生四位数的验证码 28 29 System.out.print("四位数验证码:"); 30 31 for(int i=1;i<=4;i++) 32 { 33 System.out.print(list.get(r.nextInt(list.size()))); 34 }
运行结果为:
方法二:
1 public class Choujiang { //此为最普通的截取方法 2 3 public static void main(String[]args) 4 { 5 6 String str = "0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"; 7 Random yan=new Random(); 8 for(int i=0; i<4; i++) 9 { 10 int j = yan.nextInt(str.length()-1); 11 12 String s = (str.substring(j, j+1)); 13 14 System.out.print(s); 15 } 16 } 17 }