Set、Map集合、栈、队列

  1. Set中不保存重复的元素。

  2.Set中最常用的是测试归属性,可以查询某个对象是否存在某个Set中。查找成了Set中最常用的操作。

  3.HashSet使用了散列。TreeSet将元素存储在红-黑树数据结构中。如果你想对结果排序,一种方式是使用Treeset来代替Hashset

 4.如果要对结果排序使用TreeMap,否则使用HashMap。

  5.栈(Stack)通常是指“后进先出”(LIFO)的容器。

 6.队列(Queue)通常是指“先进先出”(FIFO)的容器。

 1     int count =0;
 2     //1.栈
 3     Stack<String> stack = new Stack<String>();
 4     for(String s: "I LOVE YOU".split(" ")){
 5         stack.push(s);
 6     }
 7     System.out.println("1.栈:先进后出(LIFO)");
 8     while(!stack.empty()){
 9         System.out.print(stack.pop()+" ");
10     }
11     System.out.println("
");
12 
13     
14     //2.HashSet
15     Random rand = new Random(47);
16     Set<Integer> set01 = new HashSet<Integer>();    
17     for(int i =0 ;i<1000;i++){
18         set01.add(rand.nextInt(31));
19     }
20     Iterator<Integer> itr = set01.iterator();
21     System.out.println("2.HashSet:未排序");
22     while(itr.hasNext()){
23         System.out.print(itr.next()+" ");        
24     }
25     System.out.println("
");
26     
27     
28     //3.TreeSet    
29     Set<Integer> set02 = new TreeSet<Integer>();
30     set02.addAll(set01);
31     Iterator<Integer> itr02 = set02.iterator();
32     System.out.println("3.TreeSet:排序");
33     while(itr02.hasNext()){
34         System.out.print(itr02.next()+" ");        
35     }
36     System.out.println("
");
37     
38     //4.HashMap
39     Map<Integer,Integer> hashMap = new HashMap<Integer,Integer>();
40     Object[] obj =set01.toArray();
41     for(int i=1;i<set01.size();i++){
42         hashMap.put(i,(Integer) obj[i]);
43     }
44     System.out.println("4.HashMap");
45     for(Integer integer:hashMap.keySet()){        
46         System.out.print(integer+":"+hashMap.get(integer)+" | ");
47         count++;
48         if(count==10){
49             System.out.println();
50             count=0;
51         }
52     }
53     System.out.println("
");
54     
55     //5.TreeMap
56     Map<Integer,Integer> treeMap = new TreeMap<Integer,Integer>();
57     for(int i=1;i<set01.size();i++){
58         treeMap.put(i,(Integer) obj[i]);
59     }
60     System.out.println("5.TreeMap:排序");
61     for(Integer n:treeMap.keySet()){
62         System.out.print(n+":"+treeMap.get(n)+" | ");
63         count++;
64         if(count==10){
65             System.out.println();
66             count=0;
67         }
68     }
69     
70     //6.队列
71     System.out.println("
");
72     System.out.println("6.队列:先进先出");
73     Queue<String> queue = new LinkedList<String>();
74     for(String str:"I LOVE YOU".split(" ")){
75         queue.offer(str);
76     }
77     System.out.println(queue);

输出结果:

原文地址:https://www.cnblogs.com/maduar/p/4362988.html