25-集合--List和Set比较+List+ListIterator+List取出元素的四种方式+List特有的内容

一、List和Set比较

1、List

(1)有序(存入和取出的顺序一致)

(2)元素都有索引(角标

(3)元素可以重复

2、Set

(1)无序(有可能会有序,但几率不高)

(2)元素不能重复(唯一

List和Set最严重的区别在于:是否有重复元素

二、List

1、有序的collection。此接口的用户可以对列表中每个元素的插入位置进行精确的控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素

2、List特有的常见方法,都有一个共性特点:都可以操作角标 -- List最大的特点。即 凡是可以操作角标的,都是List的特有方法

3、只有List集合可以实现对元素的增删改查(Collection不具备修改功能)

4、方法(凡是参数为角标的方法,返回值多为对象E)

(1)迭代器

        Iterator<E> iterator():返回按适当顺序在列表的元素上进行迭代的迭代器

        ListIterator<E> listIterator():返回此列表元素的列表迭代器(按适当顺序)

        ListIterator<E> listIterator(int index):返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始。指定的索引表示next()的初始调用所返回的第一个元素

(2)添加

        void add(int index, E element):在列表的指定位置插入指定元素

        boolean addAll(int index, Collection<? extends E> c):将指定集合c中的所有元素都插入到列表中的指定位置

        boolean add(E e):向列表的尾部添加指定的元素

        boolean addAll(Collection<? extends E> c):将指定集合c中的所有元素添加到此列表的结尾

        List list = new ArrayList();
        list.add("abc1");
        list.add("abc2");
        System.out.println(list);   //[abc1, abc2]
        //新插入的元素在角标1的位置上
        list.add(1, "abc3");
        System.out.println(list);   //[abc1, abc3, abc2]
        List list = new ArrayList();
        list.add(0, "zhangsan");
        list.add(0, "lisi");    //[lisi, zhangsan]
//        list.add(1, "wangwu");  //[lisi, wangwu, zhangsan]
//        list.add(2, "wangwu");  //[lisi, zhangsan, wangwu]
        //插入元素的位置必须在 [0, list.length],否则报错IndexOutOfBoundsException
        list.add(3, "wangwu");  //java.lang.IndexOutOfBoundsException: Index: 3, Size: 2
        list.add(-1, "wangwu");  //java.lang.IndexOutOfBoundsException: Index: -1, Size: 2
        System.out.println(list);

(3)删除

       

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值