List子接口
它的父类是collcetion
- 特点:有序、有下标,元素可以重复
有序指的是:插入和取出的顺序一样
- 方法:
void add(int index, Object o)
//在index位置插入对象o
boolean addAll(int index, Collection c)
//将一个集合中的元素插入到此集合index位置
Object get(int index)
//返回集合中指定位置的元素
List subList(int fromIndex, int toIndex)
//返回formIndex和toIndex之间的集合元素
list遍历可以使用for循环,因为有下标。列表迭代器ListIterator方法如下图。
下边的ListDemo类比较基础的一些操作
list.nextIndex() 输出当前下标
list.next() 返回列表中的下一个元素,并且前进光标位置。
package com.list;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
/**
* List子接口的使用
* 特点:有序、有下标,可重复
*/
public class ListDemo {
public static void main(String[] args) {
//1、创建集合对象
List list = new ArrayList();
//2、添加元素
list.add("苹果");
list.add("小米");
list.add("华为");
System.out.println("元素个数" + list.size());
System.out.println(list.toString());
//3、删除元素。可以元素或者下表
//list.remove("苹果");
// list.remove(0);
// System.out.println("元素个数"+list.size());
// System.out.println(list.toString());
//4、遍历
//4.1、可以使用for遍历。因为有下标
for (int i =0 ; i < list.size(); i++) {
System.out.println("for遍历:"+list.get(i));
}
//4.2、增强for遍历
for (Object o : list) {
System.out.println("增强for遍历:"+o);
}
//4.3、使用迭代器遍历
Iterator it = list.iterator();
while (it.hasNext()) {
Object next = it.next();
System.out.println("迭代器遍历:"+next);
}
//4.4、使用列表迭代器遍历。和Iterator的区别,ListIterator可向前或者向后遍历,
ListIterator lit = list.listIterator();
System.out.println("----从前往后遍历----");
while (lit.hasNext()){
//lit.nextIndex() 输出当前下标
//lit.next() 返回列表中的下一个元素,并且前进光标位置。
System.out.println(lit.nextIndex()+":"+lit.next());
}
System.out.println("----从后往前遍历----");
while (lit.hasPrevious()){
System.out.println(lit.previousIndex()+":"+lit.previous());
}
//5、判断
System.out.println("集合是否包含苹果:"+list.contains("苹果"));
System.out.println("集合是否为空:"+list.isEmpty());
//6、获取元素位置
System.out.println("获取华为元素下标:"+list.indexOf("华为"));
}
}