集合Day02

List接口:

不唯一,有序

方法:

static of() :返回不可修改的List集合,对象的属性可以修改。

indexOf() removeOf() 如果存储对象,重写equals方法

boolean removeAll():删除两个集合的交集

boolean retainAll(): 保留交集。

能删除元素的遍历方式:

Iterator :使用Iterator中的remove()删除,无参数,删除当前元素。

普通for:删除时会左移一个,解决方法:每删一个回退一个。

比较器:

Comparator:使用集合中的sort方法,传入一个比较器,

三种方式:

1.可以创建类实现Comparator接口,重写里面的compare方法。

2.使用匿名内部类方式。

3.使用Lambda表达式。

LinkedList:

是List接口的链接列表实现类,实现了Deque接口,即能将LinkedLidt当作双端队列使用。

ArrayList与LinkedList的区别:

  1. ArrayList是动态数组,LinkedList的数据结构是链表。

  2. ArrayList不支持高效插入和删除操作,LinkedList不支持高效的随机访问元素。

  3. ArrayList的空间浪费在数组末尾预留2一定容量的空间,LinkedList的浪费在每个节点都要消耗空间来存储prev,next等信息。

ArrayList与Vector的区别:
  1. Vector线程安全,ArrayList线程不安全。

  2. ArrayList在扩容是默认1.5倍,Vector在扩容时默认1倍。

  3. ArrayList支持序列化,Vector不支持。

  4. Vector提供indexOf(obj,start)接口,ArrayList没有。

  5. Vector构造函数可以增加扩容系数,ArrayList不可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值