JAVA list集合的特有方法和特有迭代器

List集合是Collection接口的子接口,每个元素都有索引对应相依的的元素,正是因为如此才可以存放相同的元素而且可以根据索引来辨别元素的排列顺序,一般的默认根据添加顺序类设置元素的索引,所以List集合是一个元素有序、可重复的集合。

List集合有许多方法以下是list集合的特有的方法

 

添加元素的方法:

add(index,element) :将指定的元素插入列表可以插入到指定位置也可以不用指定。

addAll(idext,Collection):将指定 collection 中的所有元素都插入到列表中的指定位置(可选操作)。

删除:

remove(int index)移除列表中指定位置的元素(可选操作)。

修改:

Set(int index,E element) 用指定元素替换列表中指定位置的元素(可选操作)。

查询:

get(index)获取指定位置的元素

代码:

//添加:

     //创建集合容器listArray

     ArrayList list=new ArrayList();

     //添加元素 add

     list.add(0,"Java1");

     list.add(1,"java2");

     list.add(2,"java3");

     list.add(3,"java4");

     //输出集合

     System.out.println(list);

     System.out.println("---指定位置添加元素--");

     //add(index,element)指定位置添加元素

     list.add(1, "java10");

    

     System.out.println(list);

     ArrayList la=new ArrayList();

     //addAll list集合中的所有元素添加到la索引为0的位置中

     la.addAll(0, list);

     //打印

     System.out.println("la的元素+list的元素:"+la);

    

     //删除:

     //remove(index) 删除索引位置1的元素

     list.remove(1);

     System.out.println("删除元素后的集合"+list);

    

     //修改

     //set 修改索引为1位置元素

     list.set(1, "eveat");

     System.out.println("修改元素后的集合:"+list);

     //查询 get查询指定位置的元素

     System.out.println("索引位置为1的元素是:"+list.get(1));

 

效果:

 

说明:ArrayListlist接口的实现类,底层数据是数组,特点是查询查询快,增删稍慢。

 

 

list集合特有的迭代器:ListIterator

程序员遍历列表、迭代期间修改列表,并获得迭代器在列表中的当前位置。ListIterator 没有当前元素。

ListIterator迭代器是Iterator子接口

注意:在迭代时是不可以通过集合的对象操作元素否则就会引发并发异常,要么就使用迭代器的方法,要么就不要在迭代时使用集合的方法

 

以下ListIterator是的方法:

addE e 将指定的元素插入列表(可选操作)。

     hasNext() 以正向遍历列表时,如果列表迭代器有多个元素,则返回

     hasPrevious() 如果以逆向遍历列表,列表迭代器有多个元素,则返回 true

     next 返回列表中的下一个元素。

     nextindex返回对 next 的后续调用所返回元素的索引。

     remove() 删除元素

     set  用指定元素替换 next

 

代码:

System.out.println("------------分割线---------");

     //创建集合容器lnng

     ArrayList lnng=new ArrayList();

     lnng.add("java01");

     lnng.add("java02");

     lnng.add("java03");

     lnng.add("java04");

    

     ListIterator li=lnng.listIterator();

  

     //hasNext() 判断是否有下一个元素

     while(li.hasNext()){

         //接受类型是object

        //next 返回li迭代器的下一个元素

        Object obj =li.next();

       

        //add 插入元素  lnng集合中

        if(obj.equals("java01")){

         li.add("java10");

         System.out.println("插入java10后的的集合:"+lnng);

        }

       

        //remove  删除java02元素

        if(obj.equals("java02")){

           //lnng集合中java3的引用删除

           li.remove();

           System.out.println("删除java2后的的集合:"+lnng);

        }

        //set 修改元素为java03的元素

        if(obj.equals("java03")){

           li.set("java13");

           System.out.println("删除java3后的的集合:"+lnng);

           //nextIndex此次操作的索引

          System.out.println("此次操作的索引:"+li.nextIndex());

        }

     }

 

效果:

说明:ListIterator迭代器添加删除修改操作是对集合的操作,迭代器获取元素的标准是根据第一次获取集合的数据进行操作,就是说比如在ListIterator迭代器向集合添加元素,迭代器不会重新获取该集合的元素;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值