zoukankan      html  css  js  c++  java
  • ArrayList,HashSet,SortedSet之间的区别是什么?

    今天看Redis官方案例,出现了列表和集合概念,列表在Java中指的就是List,集合在Java中指的就是Set,那么怎么实现列表和集合,以及它们有什么区别呢?

    我写了个Demo演示下:

    
    

    import java.util.ArrayList;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;
    import java.util.SortedSet;
    import java.util.TreeSet;

    
    

    public class ListDemo {

    
    

    public static void main(String[] args) {
    // TODO Auto-generated method stub

    
    

    //对比:Set是结合,List是列表
    //HashSet里面的值是是不可重复的,ArrayList里面的值可以重复
    //HashSet和ArrayList的数据都是无序的
    //TreeSet继承SortedSet,它是有序的。
    Set<String> set=new HashSet<String>();
    set.add("444");
    set.add("222");
    set.add("aaa");
    set.add("111");
    set.add("333");
    set.add("bbb");
    for(String str:set) {
    System.out.println(str);
    }
    System.out.println("------分割线------");
    SortedSet<String> sortedSet=new TreeSet<String>();
    sortedSet.add("444");
    sortedSet.add("222");
    sortedSet.add("aaa");
    sortedSet.add("111");
    sortedSet.add("333");
    sortedSet.add("bbb");
    for(String str:sortedSet) {
    System.out.println(str);
    }

    System.out.println("------分割线------");
    List<String> list=new ArrayList<String>();
    list.add("444");
    list.add("222");
    list.add("aaa");
    list.add("111");
    list.add("333");
    list.add("bbb");
    for(String str:list) {
    System.out.println(str);
    }

    }

    
    

    } 

    得出的结果如下所示:

    aaa
    111
    222
    333
    bbb
    444
    ------分割线------
    111
    222
    333
    444
    aaa
    bbb
    ------分割线------
    444
    222
    aaa
    111
    333
    bbb

    可以验证我的注释:

    HashSet里面的值是是不可重复的,ArrayList里面的值可以重复
    HashSet和ArrayList的数据都是无序的
    TreeSet继承SortedSet,它是有序的。

    是正确的。

     最后为了更好的理解,找了一张结构图供亲们参考:

  • 相关阅读:
    iOS 自动化测试踩坑(二):Appium 架构原理、环境命令、定位方式
    干货 | 掌握 Selenium 元素定位,解决 Web 自动化测试痛点
    代理技术哪家强?接口 Mock 测试首选 Charles
    浅谈MVC缓存
    PetaPoco 快速上手
    解释器模式(26)
    享元模式(25)
    中介者模式(24)
    职责链模式(23)
    命令模式(22)
  • 原文地址:https://www.cnblogs.com/shuai7boy/p/12467318.html
Copyright © 2011-2022 走看看