java中集合框架 单列集合 list set 解析

单列集合  collection(顶级接口)

 collectio主要由list类和set类集合组成, 由于每次只存储一个数值,所以被称为单列集合。

由于collection是单列集合的顶级接口,list和set类集合继承了它,可以使用collection中所有

方法。

list集合

  list集合的特点:有序,可重复,有索引。

  list是接口,他的实现类有arraylist(它的底层是数组),linkedlist(他的底层为双链表)

我们可以通过这俩个实现类去完成一些操作。

list中的数组遍历


1、迭代器遍历

Iterator<String> it=coll.iterator();//迭代器
        while (it.hasNext()){
            String sr=it.next();
            System.out.println(sr);
        }

注意:1、迭代器遍历中,是拿指针进行移动,去指向目标,迭代完毕指针不会复位,故只能使用一次.next。

           2、遍历时,不能用集合方法进行增加或删除

2、增强for

for (String s:coll){//增强for
            System.out.println(s);

   增强for的结构为:for(元素数据类型 变量名 :数组或集合)

  增强for的底层是迭代器

3、lambda 表达式

Collection<String> coll=new ArrayList<>();
        coll.add("aaa");
        coll.add("bbb");
        coll.add("aa");
        
        coll.forEach(str-> System.out.println(str));

  代码简单,底层原理需要专门理解。

下面俩个是list集合特有的遍历方式

4、普通for

  List<String> coll=new ArrayList<>();
        coll.add("aaa");
        coll.add("bbb");
        coll.add("aa");
        

        for (int i = 0; i < coll.size(); i++) {
            String s=coll.get(i);
            System.out.println(s);
            
            
        }

  想要操作索引时可以考虑这样写

5、列表迭代器

 ListIterator<String>it=coll.listIterator();
        while (it.hasNext()){
            String str= it.next();
        }

列表迭代器中可以增加元素

set集合

set集合的特点是:无序,不重复,无索引

它的的实现类有:Hashset,linkedHashset Treeset

主要作用是去重


set中遍历方式

分别为迭代器,增强for,lambda表达式与list前三条相同


Hashset,linkedHashset Treeset的区别

Hashset:无序,不重复,无索引

inkedHashset:有序,不重复,无索引

Treeset:可排序,不重复,无索引--->对于数值类型:integer,double从小到大排序

                                                        --->对于字符,字符串:按照Ascll码表中数字的升序排序(看                                                                                                                                      第一个数字)

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值