java.util.List接口 extends Collection接口
List接口的特点
- 有序的集合,存储元素和取出元素的顺序是一致的(存储123 取出123)。
- 有索引,包含了一些带索引的方法。
- 允许存储重复的元素。
List接口中带索引的方法(特有)
- public void add(int index,E element)————将指定的元素,添加到该集合的指定位置上。
- public E get(int index)——————————返回集合中指定位置的元素。
- public E remove(int index)—————————移除列表中指定位置的元素,返回的是移除的元素。
- public E set(int index,E element)——————用指定元素替换集合中指定位置的元素,返回的更新前元素。
注意
操作索引的时候,一定要防止索引越界异常。
List集合遍历有三种方式
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Demo01List {
public static void main(String[] args) {
//创建一个List集合对象,多态
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
//List集合遍历有三种方式
//1.使用for循环
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
System.out.println(s);
}
System.out.println("=============================");
//2.使用迭代器
Iterator<String> it =list.iterator();
while (it.hasNext()){
String s =it.next();
System.out.println(s);
}
System.out.println("=============================");
//3.增强for
for (String s : list) {
System.out.println(s);
}
}
}
java.util.LinkedList集合 implement List接口
LinkedList集合的特点
- 底层是一个链表结构——查询慢,增删快。
- 里边包含了大量操作首尾元素的方法。
注意————使用LinkedList集合特有的方法,不能使用多态
- public void addFirst(E e)————将指定的元素插入此列表的开头。
- public void addLast(E e)————将指定的元素添加到此列表的结尾。
- public void push(E e)—————将元素推入此列表所表示的堆栈。
- public E getFirst( )——————返回此列表的第一个元素。
- public E getLast( )——————返回此列表的最后一个元素。
- public E removeFirst( )————移除并返回此列表的第一个元素。
- public E removeLast( )————移除并返回此列表的最后一个元素。
- public E pop( )————————从此列表所表示的堆栈处弹出一个元素。
- public boolean isEmpty( )————如果列表不包含元素,则返回true。