1. List 概述和特点
1. List 概述
- 有序集合(也称为序列),用户可以精确控制列表中每个元素的插入位置。用户可以通过整数索引访问元素,并搜索列表中的元素
- 与Set集合不同,列表通常允许重复的元素
2. List 特点
- 有索引:可以像数组一样按照元素下标访问
- 可以存储重复元素:List 中可以加入重复的元素
- 元素存取有序:List每个元素都有索引标记,可根据元素的索引标记访问元素
2. List 的特有方法
1. 方法介绍
方法名 | 描述 |
---|---|
void add(int index,E element) | 在此集合中的指定位置插入指定的元素 |
E remove(int index) | 删除指定索引处的元素,返回被删除的元素 |
E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素 |
E get(int index) | 返回指定索引处的元素 |
2. 示例代码
代码语言:javascript复制import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
public class Demo {
public static void main(String[] args) {
// 创建 List 集合对象
List<String> name = new ArrayList<String>();
// boolean add(E e):添加元素
name.add("小明");
name.add("凡汐");
name.add("小红");
name.add("小明"); //可添加重复元素
System.out.println(name); // [小明, 凡汐, 小红, 小明]
// void add(int index,E element): 在 list 的指定位置插入指定元素
name.add(1,"小白");
System.out.println(name); // [小明, 小白, 凡汐, 小红, 小明]
// E remove(int index): 删除指定索引处的元素,返回被删除元素
String temp = name.remove(3);
System.out.println(temp); // 小红
System.out.println(name); // [小明, 小白, 凡汐, 小明]
// E set(int index,E element): 修改指定索引处的元素,返回被修改的元素
temp = name.set(1,"小龙");
System.out.println(temp); // 小白
System.out.println(name); // [小明, 小龙, 凡汐, 小明]
// E get(int index) 返回指定索引的元素
temp = name.get(2);
System.out.println(temp); // 凡汐
}
}
3. 列表迭代器
1. ListIterator 介绍
- 列表迭代器通过List集合的
listIterator()
方法得到,所以说它是List集合特有的迭代器 - 用于允许程序员沿任一方向遍历的列表迭代器,在迭代期间修改列表,并获取列表中迭代器的当前位置
2. 示例代码
代码语言:javascript复制import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class Demo {
public static void main(String[] args) {
// 创建集合对象
List<String> list = new ArrayList<String>();
// 添加元素
list.add("java");
list.add("c");
list.add("python");
list.add("go");
list.add("php");
// 获取列表迭代器
ListIterator<String> lit = list.listIterator();
// 遍历
while (lit.hasNext()){
System.out.println(lit.next());
}
}
}