List集合:有序,有下标,可重复
有下标所以有序
- 注意导包:util包下
- 他有一个子类(CopyOnWriteArrayList)是线程安全的ArrayList
可以用下标来操作元素
public static void listIndexTest(List list) {
int i = list.indexOf("长歌");
//[长歌, 太平, 世民]-0
System.out.println(list+"-"+i);
/**
* 长歌
* 太平
* 世民
*/
for (i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
//--------------------------------------------------
/**
* 截取和按对象删除
*/
List list1 = list.subList(1, 3);//[太平,世民]
list1.remove("太平");
System.out.println(list1);//世民*/
}
List集合专属迭代器:ListIterator可以前后双向遍历
public static void listIteratorTest(List list){
/**
* 要先把指针指向最后,才能往前来
*
* 调用了next()指针位置才会改变
*/
ListIterator listIterator = list.listIterator();
while (listIterator.hasNext()){
listIterator.next();
}
//-----------------------------------------------
/**
* 世民
* 太平
* 长歌
*/
while (listIterator.hasPrevious()){
Object previous = listIterator.previous();
System.out.println(previous);
}
}
mian()
public static void main(String[] args) {
/**
* 注意导包:util包下
* 先别用List本身
*/
List list = new /*List()*/ArrayList();
list.add("则天");
list.add("世民");
/**
* 有0号索引位置加元素,后面的向后移
*/
list.add(0,"长歌");
//1号索引位置元素变成"太平"
list.set(1,"太平");
//---------------------------------------------
listIndexTest(list);
//listIteratorTest(list);
}