List集合

概念

List接口继承了Collection,具有Collection接口的所有方法。

特点

1、有序。List集合中元素的插入顺序和取出顺序是一样的。

2、可重复。List集合中的元素是可以重复的。

3、索引。List集合可以通过索引对元素进行操作。

 

List集合中常用的方法

方法 说明
addAll(int index, Collection<? extends E> c)
将集合中的所有元素插入到List中指定位置
replaceAll(UnaryOperator<E> operator)
 使用给定的内容替换数组中的元素
sort(Comparator<? super E> c)
 对集合进行排序
get(int index)
 获取集合指定位置的元素
set(int index, E element)
 为集合中指定位置元素赋值
add(int index, E element)
 在集合中指定位置添加元素
remove(int index)
 移除集合中指定位置的元素
indexOf(Object o)
 获取指定元素在集合中首次出现的索引
lastIndexOf(Object o)
 获取指定元素在集合中最后次出现的索引
 
listIterator()
 返回集合中的列表中元素的迭代器(以正确的方式)
 
listIterator(int index)
 从集合中指定位置开始,返回集合中的列表中元素的迭代器(以正确的方式)
 
subList(int fromIndex, int toIndex)
 获取集合中formIndex位置到toIndex位置内的元素集合

 

实例化对象

List list = new ArrayList();

添加元素

list.add(0, "西瓜");
list.add(1, "苹果");
list.add(2, "香蕉");
list.add(3, "香蕉");
//如果不指定索引,会将该元素添加到集合的尾部
list.add("橘子");

删除元素

list.remove(0);//根据索引删除元素
list.remove("香蕉");//删除指定元素

清空元素

list.clear();

遍历元素

1、for循环

 for (int i = 0; i < list.size(); i++) {
            System.out.println("集合元素:" + list.get(i));
        }

2、增强for

for (Object object : list) {
            System.out.println("集合元素:" + object);
        }

3、迭代器iterator

 // 只能正向遍历,支持删除元素
        Iterator iterator = list.iterator();
        while (iterator.hasNext()) {
            //注意:迭代器使用过程中不允许对集合元素进行更改操作
//            list.remove("苹果");
            //可以使用迭代器内置方法进行操作
            iterator.remove();
            System.out.println("集合元素:" + iterator.next());
        }

4、列表迭代器ListIterator

//和iterator的区别:1、可以自行指定遍历方向,从前向后/从后向前。2、支持添加、修改、删除元素。
        ListIterator listIterator = list.listIterator();
        //从前向后遍历
        while (listIterator.hasNext()) {
            System.out.println(listIterator.next());
        }
        //从后往前
        while (listIterator.hasPrevious()) {
            System.out.println(listIterator.previous());
        }

List中的判断

System.out.println("判断集合是否包含元素:" + list.contains("西瓜"));
System.out.println("判断集合是否为空:" + list.isEmpty());

获取元素索引

System.out.println("元素首次出现索引:" + list.indexOf("香蕉"));
System.out.println("元素最后一次出现索引:" + list.lastIndexOf("香蕉"));

截取并返回数组中的一部分

List list = new ArrayList();
//添加元素时,如果元素为基本类型为数字时,会有一个自动装箱的操作,也就是new Integer(20)。
list.add(20);
list.add(20);
list.add(20);
list.add(50);
list.add(60);
//返回的newList从formIndex开始,到toIndex-1结束,不包含toIndex
List newList = list.subList(2, 4);

返回值:[20,50]

 

posted @ 2022-12-14 23:56  Amireux-126  阅读(19)  评论(0)    收藏  举报