集合类 List

1 List集合
(1)有序集合(也称为序列),可以精确控制列表中每个元素的插入位置,可以通过整数索引访问元素。
与Set集合不同,存储的元素可以重复。
(2)List集合的特有方法
void add(int index,E element) 指定位置插入指定的元素
E remove(int index) 删除指定索引处的元素,返回被删除的元素
E set(int index,E element) 修改指定索引处的元素,返回被修改的元素
E get(int index) 返回指定索引处的元素

2 并发修改异常ConcurrentModificationException
(1)产生原因:
迭代器遍历过程中修改了集合中元素的长度,造成迭代器获取元素中判断预期修改值和实际修改值不一致
(2)解决方法:使用for循环遍历

3 ListIterator列表迭代器
(1)通过List集合的listIterator()方法得到,它是List集合特有的迭代器。
(2)用于允许程序员沿任一方向遍历列表的列表迭代器,在迭代期间可以修改列表(不会产生并发修改异常),并获取迭代器当前的位置。
示例:

        List<String> l = new ArrayList<String>();
        l.add("床前明月光");
        l.add("疑是地上霜");
        l.add("举头望明月");
        l.add("低头思故乡");

        ListIterator<String> listIterator = l.listIterator();
        while (listIterator.hasNext()){
            if(!listIterator.hasPrevious()){
                listIterator.add("静夜思");
                listIterator.add("李白");
            }
            if(listIterator.next().equals("疑是地上霜")){
                listIterator.set("地上鞋两双");
            }
        }
        System.out.println(l);

4 增强for循环:内部原理是一个Iterator迭代器
格式:
for(数据类型 变量名:数组或Collection集合){
    
}
示例:

        List<String> list = new ArrayList<String>();
        list.add("郎骑竹马来");
        list.add("绕床弄青梅");
        list.add("同居长干里");
        list.add("两小无嫌猜");
        for(String str:list){
            System.out.println(str);
        }

5 List集合子类
ArrayList:底层数据结构是数组,查询快,增删慢
LinkedList:底层结构是链表,增删快,查询慢

6 LinkedList集合的特有功能
public void addFirst(E e)
public void addLast(E e)
public E getFirst()
public E getLast()
public E removeFirst()
public E removeLast()
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海阔天空2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值