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);
输出结果: