• 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,它是有序的。

    是正确的。

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

  • 相关阅读:
    去 抚仙湖 和 去 洱海 差不多
    开源项目 D++
    未来 的 科学家, 不仅 是 数学家, 也是 系统设计 大师
    出一道 智商题 : 证明 永动机 是否 能 设计出来 ?
    评论一下 “推倒数学大厦”的 一个 作业题
    用 无穷级数 的 思路 三等分角
    三等分角 化圆为方 可以 考虑 用 无穷级数 的 方式 来 实现
    CPU 应该 搞 0 级 Cache , 而不是 大寄存器
    关于 智商 (2)
    关于 智商
  • 原文地址:https://www.cnblogs.com/shuai7boy/p/12467318.html
Copyright © 2020-2023  润新知