• 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);

    输出结果:

  • 相关阅读:
    activiti 自定义用户
    Activiti6 应用安装 activiti-admin,activiti-app,activiti-rest
    jsoup获取标签下的文本(去除子标签的)
    关于idea跳过错误编译的理解, 跳过报错的代码启动项目去debug测试其他正常的代码
    mybatis 使用参数
    AnnotatedElementUtils.findMergedAnnotation作用
    tomcat中AuthenticatorBase简单的安全认证
    tomcat跨域请求过滤器CorsFilter使用的预检preFlight及其他过滤器
    tomcat中SSIPrintenv.java漏洞修复
    Gitlab+Jenkins Pipeline+Docker+k8s+Helm自动化部署实践(干货!)
  • 原文地址:https://www.cnblogs.com/maduar/p/4362988.html
Copyright © 2020-2023  润新知