Java中List集合的常用方法

List接口是继承Collection接口,所以Collection集合中有的方法,List集合也继承过来。

1、void add(int index, E element)

在指定位置插入元素,后面的元素都往后移一个元素。

public static void main(String[] args) {
List list1 = new ArrayList<>();
list1.add("aaa");
list1.add("bbb");
list1.add("ccc");
System.out.println("list1:" + list); // [aaa,bbb,ccc]
list1.add(2,"zzz");
System.out.println("list1:" + list); // [aaa,bbb,zzz,ccc],元素插入到索引2位置处
}

2、boolean addAll(int index, Collection extends E> c)

在指定的位置中插入c集合全部的元素,如果集合发生改变,则返回true,否则返回false。

意思就是当插入的集合c没有元素,那么就返回false,如果集合c有元素,插入成功,那么就返回true。

List list2 = new ArrayList<>();
List list3 = new ArrayList<>();
list2.add("星期一");
list2.add("星期二");
Boolean b = list1.addAll(2,list2); //把list2元素插入到list1中索引位置为2处。
System.out.println("list1:" + list); // [aaa,bbb,星期一,星期二,ccc]
System.out.println("list1集合是否发生变化:" + b); // true
b = list1.addAll(2,list3); //把list3元素插入到list1中索引位置为2处。
System.out.println("list1:" + list); // [aaa,bbb,星期一,星期二,ccc]
System.out.println("list1集合是否发生变化:" + b); // false
3、E get(int index)
返回list集合中指定索引位置的元素。
Object obj1 = list1.get(2); //obj1 = 星期一,索引从0开始
Object obj2 = list1.get(4); //obj2 = ccc

4、int indexOf(Object o)

返回list集合中第一次出现o对象的索引位置,如果list集合中没有o对象,那么就返回-1。

int i = list1.indexOf("demo2"); //i = 1
int j = list1.indexOf("你好"); //i = -1

5、ListIterator listIterator()

这里大概讲一下他们的区别:当只需要遍历集合时,两个迭代器的功能都是一样。但是listIterator迭代器只能用于List和他的实现子类,iterator迭代器可以用于所有的集合使用。所不同的就是listIterator迭代器的功能会比iterator迭代器的功能要多。listIterator迭代器可以在遍历集合时添加、修改和删除,而iterator迭代器在遍历集合时只有删除。

6、ListIterator listIterator(int index)

从指定位置开始,返回此列表元素的列表迭代器(按适当顺序)。和上面那个迭代器不同的就是多了一个参数,就是能控制迭代器开始的位置。

7.List.iterator()

方法用于返回按适当顺序在列表的元素上进行迭代的迭代器。方法返回值为 Iterator 对象。

本例使用 List 接口的实现类 ArrayList 初始化一个列表对象 list,并向该列表中添加 3 个元素,然后调用 iterator 方法获取该列表的迭代器,最后通过循环输出该列表中的全部元素。

public static void main(String[] args){
Listlist = new ArrayList();
list.add("保护环境");
list.add("爱护地球");
list.add("从我做起");
Iterator it = list.iterator();  //获取Iterator对象
while(it.hasNext()){  //循环遍历Iterator对象
System.out.println(it.next());  //输出Iterator对象中的值 保护环境,爱护地球,从我做起
}
}

8、E remove(int index)

删除指定索引的对象。

list1.remove(2);
System.out.println("list1:" + list); // [aaa,bbb,星期二,ccc]

9、E set(int index, E element)

在索引为index位置的元素更改为element元素。

list1.set(2,"nihao");
System.out.println("list1:" + list); // [aaa,bbb,nihao,ccc]

10、List subList(int fromIndex, int toIndex)

返回从索引fromIndex到toIndex的元素集合,包左不包右。

reslist = list1.subList(1,3);
System.out.println("reslist:" + reslist); // [bbb,nihao]

标签:Java,迭代,int,List,list,list1,集合