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 }