List集合
List是有序的 collection(也称为序列)。在上一篇(Collection集合)我们介绍过Collection既有有序的,也有无序的。很明显是因为它的子类实现或者定义了不同的特性。接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素,所以我们发现List的特性往往与索引有很大的关系。
List集合的特有功能概述
- void add(int index,E element)
- E remove(int index)
- E get(int index)
- E set(int index,E eleme)
Collection为什么没有这些方法呢,因为Set是无序的,没有索引的。
List集合的遍历功能
- collection中遍历的方法在中仍然可以实现,方法不变。
- 通过size()和get()方法结合使用遍历
//建立一个人Student类
public static void main(String[] args) {
List<Student> list = new ArrayList<>();//父类引用指向子类
list.add(new Student("张三",34));
list.add(new Student("李四",35));
list.add(new Student("王五",36));
list.add(new Student("赵六",37));
//遍历
for (int i =0;i<list.size();i++){
Student student = list.get(i);
System.out.println(student.getName()+","+student.getAge());
}
}
-List特有的迭代器ListIterator
- boolean hasNext()是否有下一个
- boolean hasPrevious()是否有前一个
- Object next()返回下一个元素
- Object previous();返回上一个元素
与Iterator相比它多了是否有前一个和返回上一个元素方法,这也是因为List是有序的,拥有索引的缘故。