List集合也是在util包下
1、列表允许重复的元素
2、用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素
List集合的特点:
1、有序:存取元素的顺序一致
import java.util.List;
import java.util.ArrayList;
public class 学生集合 {
public static void main(String[] args) {
// TODO Auto-generated method stub
List<String> arr = new ArrayList<String>();
arr.add("hello");
arr.add("world");
arr.add("java");
System.out.println(arr);
}
}
最后的运行结果是:
[hello, world, java]
可知存储和取出的顺序一致
2、可重复性
List集合的特有方法
并发修改异常
出现这种问题时,可以不通过迭代器进行遍历,可以直接通过for循环遍历
列表迭代器(ListIterator)
List集合特有的迭代器
允许程序员沿任意方向遍历列表的列表迭代器,在迭代期间修改列表,并获取列表中迭代器的当前位置
常用方法:
1、next();返回迭代器中的下一个元素
2、hasNext(); 如果迭代具有更多元素,则返回true
3、previous();返回列表中的上一个元素
4、hasPrevious();如果此列表中迭代器在相反方向遍历列表时具有更多元素,则返回true
5、void add(E e);将指定的元素插入列表
ListIterator<student> IT = arr.listIterator();
while(IT.hasNext()) {
student s = IT.next();
System.out.println(s.getName() + " " + s.getNum() + " " + s.getAge());
}
while(IT.hasPrevious()) {
student s = IT.previous();
System.out.println(s.getName() + " " + s.getNum() + " " + s.getAge());
}
两个while都必须写,才会输出倒叙