List集合
List集合代表一个元素有序、可重复的集合、集合中每个元素都有其对应的顺序索引。List集合允许使用重复元素。
Java8改进的List接口和ListIterator接口
List作为Collection接口的子接口,可以使用Collection接口中的全部方法。
- void add(int index,Object ele):将元素element插入到List集合的index处
- boolean addAll(int index,Collection c):将集合c所包含的所有元素都插入到List集合的index处
- Object get(int index):返回集合index索引处的元素
- int indexOf(Object o):返回对象o在List集合中第一次出现的位置索引
- Int lastIndexOf(Object o):返回对象o在List集合中最后一次出现的位置的索引
- Object remove(int index):删除并返回index索引处的元素
- Object set(int index,Object elem):将Index索引处的元素替换成elem对象,并返回被替换的旧元素
- List subList(int fromIndex,int toIndex):返回从索引fromIndex(包含)到toIndex(不包含)处所有集合元素组成的自己和
Java8还为List借口添加了默认的方法
- void replaceAll(UnaryOperator operator) 根据operator指定的计算规则重新设置List集合的所有元素
- void sorit(Comparator c) 根据Comparator参数对List集合的元素排序
List额外提供了ListIterator()方法,该方法返回一个ListIterator对象,ListIterator接口继承了Iterator接口,提供了专门操作List的方法。
- Boolean hasPrevious():返回该迭代器关联的集合是否还有上一个元素
- Object previous():返回该迭代器的上一个元素
- void add(Object o):在指定位置插入一个元素
ListIterator增加了向前迭代的功能,普通的Iterator只能向后迭代,ListIterator可以通过add()方法向List集合中添加元素(Iterator只能删除元素)
String[] strs = {"a", "b", "c", "d", "e", "f"};
List<String> strList = Arrays.asList(strs);
//获取ListIterator
ListIterator<String> listItera = strList.listIterator();
//反向迭代list并向集合最后添加g字符
while (listItera.hasPrevious()) {
String previous = listItera.previous();
System.out.println(previous);
}
固定长度的List
Arrays工具类提供了asList(Object... a)方法,该方法可以把一个数组或指定个数的对象转换成一个List集合。这个List集合既不是ArrayList实现类的实例,也不是Vector实现类的实例。而是Arrays的内部类ArrayList的实例。
Arrays.ArrayList是一个固定长度的List集合,程序只能遍历访问该集合里的元素,不可增加、删除该集合里的元素
网友评论