JAVA基础之Set集合和List集合使用姿势

该篇文章我们来谈谈Collection单列集合中的成员List和Set的特点及使用姿势。

List特点:有序,有索引,元素可以重复。 

实现List接口的类:ArrayList、Vector、LinkedList

Set特点:无序,无索引,元素不可以重复。

实现Set接口的类:HashSet、TreeSet、LinkedHashSet

下面我们来看看实现List接口的类:

ArrayList

public static void demo1(){
    //特点查询快,增删慢,线程不安全,不可以存空,效率高
    List<String> list = new ArrayList<>();
    for (int i = 0; i < 5; i++) {
        list.add(""+i);
    }
    list.add("3");
    Iterator<String> iterator = list.iterator();
    while (iterator.hasNext()){
        System.out.println(iterator.next());
    }
}

执行结果:

Vector

public static void demo2(){
    //特点查询快,增删慢,线程安全,不可以存空,效率低
    List<String> list = new Vector<>();
    for (int i = 0; i < 5; i++) {
        list.add(""+i);
    }
    list.add("5");
    Iterator<String> iterator = list.iterator();
    while (iterator.hasNext()){
        System.out.println(iterator.next());
    }
}

执行结果:

LinkedList

 

public static void demo3(){
    //特点查询慢,增删快,线程不安全,不可以存空,效率高
    List<String> list = new LinkedList<>();
    for (int i = 0; i < 5; i++) {
        list.add(""+i);
    }
    list.add("6");
    Iterator<String> iterator = list.iterator();
    while (iterator.hasNext()){
        System.out.println(iterator.next());
    }
}

执行结果:

 

介绍完List集合下面的成员后,我们接下来看看Set集合

HashSet

public static void demo4(){
    //存取快,可以写入空,去重原理:必须重写hashCode()和equest()方法
    Set<String> set= new HashSet<>();
    for (int i = 0; i < 5; i++) {
        set.add(""+i);
    }
    set.add("3");
    set.add(null);

    Iterator<String> iterator = set.iterator();
    while (iterator.hasNext()){
        System.out.println(""+iterator.next());
    }

}

执行结果:

TreeSet

 

public static void demo5(){
    //有序,不可以写入空,去重原理底层是二叉树
    Set<String> set=new TreeSet<>();
    for (int i = 0; i < 5; i++) {
        set.add(""+i);
    }
    set.add("3");
    Iterator<String> iterator = set.iterator();
    while (iterator.hasNext()){
        System.out.println(""+iterator.next());
    }
}

执行结果:

LinkedHashSet

public static void demo6(){
    //数据的插入要逊色于HashSet,有序,可以写入空
    Set<String> set =new LinkedHashSet<>();
    for (int i = 0; i < 5; i++) {
        set.add(""+i);
    }
    set.add("3");
    set.add(null);
    Iterator<String> iterator = set.iterator();
    while (iterator.hasNext()){
        System.out.println(""+iterator.next());
    }
}

 

执行结果:

 

今天Collection单列集合就介绍到这里,我们下篇再一起探讨一下双列集合Map

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值