单列集合框架层次结构图
List接口
我们看一下jdk1.6官方中文文档对于List接口的介绍:
List接口的特点
java.util.List
接口继承自 Collection 接口,是单列集合的一个重要分支,习惯性地会将实现了 List 接口的对 象称为List集合。在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过 索引来访问集合中的指定元素。另外,List集合还有一个特点就是元素有序,即元素的存入顺序和取出顺序一致。
- 它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、 22、33的顺序完成的)。
- 它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。
- 集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。
常用的方法
实现的功能:插入元素到指定索引处、获取指定索引处的元素、删除指定索引处的元素、替换指定索引处的元素。未列举出的继承自Collection的方法请移步:Java基础|Collection接口
方法使用示例
定义一个List集合
由于List是一个接口,我们使用它需要创建实现类对象。就选择 ArrayList 吧。泛型的实际类型参数就选用String。
List<String> list = new ArrayList<>();
list.add("迪丽热巴");
list.add("古力娜扎");
list.add("马尔扎哈");
插入元素到指定索引处
list.add(1, "蒜头王八");//list打印输出:[迪丽热巴, 蒜头王八, 古力娜扎, 马尔扎哈]
获取指定索引处的元素
String name = list.get(2);//输出:古力娜扎
删除指定索引处的元素
String remove = list.remove(3);//从list中删除"马尔扎哈",同时返回被删除的元素"马尔扎哈"
替换指定索引处的元素
String replace = list.set(0, "新垣结衣");//将list 0索引处的元素替换为"新垣结衣",同时返回被替换的元素"迪丽热巴"
List集合的遍历
-
使用迭代器。Java基础|迭代器 单列集合的通用遍历方式
-
因为有索引的存在,可以使用普通fori循环。
List<String> list = new ArrayList<>();
list.add("迪丽热巴");
list.add("古力娜扎");
list.add("马尔扎哈");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}