List 接口
特点:有序。有下标、元素可以重复
-
方法:
-
-
boolean
add(E e)
将指定的元素追加到此列表的末尾(可选操作)。void
add(int index, E element)
将指定的元素插入此列表中的指定位置(可选操作)。boolean
addAll(Collection<? extends E> c)
按指定集合的迭代器(可选操作)返回的顺序将指定集合中的所有元素附加到此列表的末尾。boolean
addAll(int index, Collection<? extends E> c)
将指定集合中的所有元素插入到此列表中的指定位置(可选操作)。void
clear()
从此列表中删除所有元素(可选操作)。boolean
contains(Object o)
如果此列表包含指定的元素,则返回true
。boolean
containsAll(Collection<?> c)
如果此列表包含指定集合的
所有元素,则返回true。boolean
equals(Object o)
将指定的对象与此列表进行比较以获得相等性。E
get(int index)
返回此列表中指定位置的元素。int
hashCode()
返回此列表的哈希码值。int
indexOf(Object o)
返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。boolean
isEmpty()
如果此列表不包含元素,则返回true
。Iterator<E>
iterator()
以正确的顺序返回该列表中的元素的迭代器。int
lastIndexOf(Object o)
返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。ListIterator<E>
listIterator()
返回列表中的列表迭代器(按适当的顺序)。ListIterator<E>
listIterator(int index)
从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。E
remove(int index)
删除该列表中指定位置的元素(可选操作)。boolean
remove(Object o)
从列表中删除指定元素的第一个出现(如果存在)(可选操作)。boolean
removeAll(Collection<?> c)
从此列表中删除包含在指定集合中的所有元素(可选操作)。default void
replaceAll(UnaryOperator<E> operator)
将该列表的每个元素替换为将该运算符应用于该元素的结果。boolean
retainAll(Collection<?> c)
仅保留此列表中包含在指定集合中的元素(可选操作)。E
set(int index, E element)
用指定的元素(可选操作)替换此列表中指定位置的元素。int
size()
返回此列表中的元素数。default void
sort(Comparator<? super E> c)
使用随附的Comparator
排序此列表来比较元素。default Spliterator<E>
spliterator()
在此列表中的元素上创建一个Spliterator
。List |
subList(int fromIndex, int toIndex)返回此列表中指定的
fromIndex(含)和
toIndex`之间的视图。Object[]
toArray()
以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。<T> T[]
toArray(T[] a)
以正确的顺序返回一个包含此列表中所有元素的数组(从第一个到最后一个元素); 返回的数组的运行时类型是指定数组的运行时类型。
-
-
List接口使用
1、使用for进行遍历
2、使用for each进行遍历
3、使用Iterator进行遍历
4、使用列表迭代器ListIterator it = list.listIterator(); 可以双向遍历 hasPrevious、previous
package 集合类;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.ListIterator;
public class ListDemo {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("西瓜");
list.add("苹果");
list.add("橘子");
System.out.println(list.size());
System.out.println(list.toString());
list.remove("苹果");
//1、使用for进行遍历
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
//2、使用for each进行遍历
//3、使用Iterator进行遍历
//4、使用列表迭代器
ListIterator it = list.listIterator();
System.out.println("前序遍历");
while(it.hasNext()) {//前序遍历
System.out.println(it.nextIndex()+":"+it.next());
}
System.out.println("后序遍历");
while(it.hasPrevious()) {//后序遍历
System.out.println(it.previousIndex()+":"+it.previous());
}
}
}
添加数字等基本类型元素时自动装箱,删除时进行包装类型转换
package 集合类;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.ListIterator;
public class ListDemo2 {
public static void main(String[] args) {
List list = new ArrayList();
//自动装箱
list.add(10);
list.add(20);
list.add(30);
System.out.println(list.size());
System.out.println(list.toString());
//list.remove(10);不发生作用
list.remove((Integer)10);
System.out.println(list.size());
System.out.println(list.toString());
}
}