zoukankan      html  css  js  c++  java
  • 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);

    输出结果:

  • 相关阅读:
    浅拷贝和深拷贝问题
    指针遍历数组时用法
    一维数组和指针
    leetcode
    tmux
    git
    einsum详解
    spark快速大数据分析 读书笔记
    maven配置
    bash 学习笔记
  • 原文地址:https://www.cnblogs.com/maduar/p/4362988.html
Copyright © 2011-2022 走看看