Java语言的java.util包中提供了一些集合类,这些集合类又被称为容器。用来完善数组的不足之处。集合类与数组的不同之处是,数组的长度是固定的,集合的长度是可变的;数组用来存放基本类型的数据,集合用来存放对象的引用。常用的集合有List集合、Set集合、Map集合,其中List 与Set实现了Collection接口。各接口还提供了不同的实现类。
Collection接口是层次结构中的根接口。Collection接口不能直接使用,但该接口提供了添加和删除、管理数据的方法。List接口和Set接口都实现了Collection接口,因此这些方法对List集合和Set集合是通用的。
List称为有序集合(也称为序列 )。 该界面的用户可以精确控制列表中每个元素的插入位置。 用户可以通过整数索引(列表中的位置)访问元素,并搜索列表中的元素。与集合不同,列表通常允许重复的元素。 更正式地,列表通常允许元素e1和e2成对使得e1.equals(e2) ,并且如果它们允许空元素,它们通常允许多个空元素。
List接口的常用方法
List接口继承了Collection接口,因此包含Collection中的所有方法。又因为List是列表类型,所以List接口还提供了一些适合自身的常用方法。
方法 | 返回值 | 功能描述 |
add(int index, Object obj ) | void | 用来向集合中的指定索引位置添加对象,集合的索引位置从0开始,其它对象的索引位置相对向后移一位 |
add(Object obj ) | void | 将指定的元素追加到此列表的末尾 |
addAll(int index, Collection coll ) | boolean | 向集合指定索引位置添加指定的集合对象 |
remove(int index) | Object | 用来移除集合中指定索引位置的对象,并返回该对象 |
get(int index) | Object | 用于获取指定索引位置的对象 |
indexOf(Object obj) | int | 该方法返回列表中对象第一次出现的索引位置,如果没有则返回 -1 |
lastIndexOf(Object obj) | int | 该方法返回列表中对象最后一次出现的索引位置,如果没有则返回 -1 |
subList(int fromIndex, int toIndex) | List | 获取从索引fromIndex 到toIndex之间的元素对象 |
set(int index,Object obj) | Object |
用指定邮箱替换列表中指定位置的元素,并返回指定位置的元素 |
listIterator() | ListIterator | 获取一个包含所有对象的ListIterator列表迭代器 |
List接口中适合自身的方法都与索引有关。由于List集合以线性方式存储对象,因此可以通过对象的索引来操作对象。
在List集合的众多方法中,add(int index, Object obj ) 方法和set(int index,Object obj) 有区别