集合_2_List接口-有序,可重复的

5 篇文章 0 订阅
文章介绍了List集合的特点,如有序且可重复,以及ArrayList、LinkedList和Vector这三个子类的区别。ArrayList读取快,增删慢,而LinkedList读取慢,增删快。Vector是线程安全的,扩容策略不同。文章还提到了集合的常用方法和扩容机制,并指出有序并不意味着可排序,需要Set接口来实现排序。
摘要由CSDN通过智能技术生成

特点:list集合 有序且可以重复

有序:存进去是什么顺序,出来就是什么顺序

重复:能存相同的数据,下列的“aaa”

1:子类

ArrayList(重点)

LinkedList

Vector(加以了解)

2:常用方法

System.out.println("集合长度:"+list.size());

boolean flag = list.contains("lisis");//判断集合中是否包含指定的数据

int index = list.indexOf("wangwu");//用来获取元素保存在list集合中的索引号

boolean isempty = list.isEmpty();

int index2 = list.lastIndexOf("wangwu");

Object obj = list.remove(2);//用来删除指定位置的元素, 并返回该已经删除的元素

boolean isRemove = list.remove("lisi");//删除指定的元素,并返回是否删除成功

List list2 = list.subList(2, 5);//获取原list集合中的某一部分元素(获取子集),这里包含第2个,但不包含第5个

Object os [] = list.toArray();//把集合转变为一个数组

3:ArrayList和LinkedList的区别

ArrayList:底层数组,读取快,增删慢

LinkedList:底层链表,读取慢,增删快,多了pre和last元素指引

4:Vector与ArrayList的区别

Vector 和 ArrayList底层都是数组

Vector是线程安全的,直接扩容一倍

ArrayList线程不安全、ArrayList的扩容机制默认是10,再次扩容是原容量的1.5倍

 5:总结

对于有序的定义只是在存储的顺序,并不是代表能够进行排序,对于排序我们还是得需要用到set中的接口。

扩容机制对于ArrayList而言 我们是增加原来的1.5倍,但是像上述中的10->15

6:建议采纳

如有建议或者错误请私信我进行修改,感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值