List集合

collection有两个接口

List(列表)    Se(集)

List:可存放重复元素,元素的存取是有序的

Set:不可存放重复元素,元素的存取是无序的,先判断hashCode是否相同,如果不同,可以存放,如果相同,在判断equals方法是否相同,因此即使equals相同,但如果hashCode不同,也能添加,跟是否同一对象无关

一 List与ArrayList

List是一个接口,ArrayList继承并实现了List;

1.ArrayList是数组是线程不安全的,因为在List中,可以插入String类型"abc"这样的字符串,也可以插入int类型123这样的数字,我们处理这些数据的时候,很有可能报数据不匹配的错误。在使用的时候需要转换为对应的原型进行处理,就是存在装箱和拆箱的操作,会带来很大的性能损耗

优点:

1.添加(add),删除(Remove),插入(Insert)操作很方便,采用动态扩容,不需要定义数组的长度,可以通过数组下标直接查询到元素,查询速度快

修改、速度快

缺点:线程不安全,有可能会产生数据不匹配错误,性能损耗大。

二 LinkedList集合

1.LinkedList底层通过链表来实现,随着元素的增加,不断向后端增加节点

2.LinkedList是一个双向链表,每一个节点都拥有前后节点的引用,相对于ArrayList来说,LinkedList随机访问效率更低

优点:链表结构,增、删速度快

三 List的用法

list.add();添加对象 注意add(int index,Object obj );向指定索引位置添加对象

list.get() 获取方法

list.remove(index);删除方法 按照索引删除

remove(Object o);按照元素的内容删除

list.set(index,element);替换原来位置上的字符

list.add(index,element);将添加的防盗索引位置,原来的数据下移

list.indexOf();判断 元素的索引

list.isEmpty();判断list是否为空,空则返回true,否则返回false

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值