首先,Collection接口是所有集合的父类,定义了接口的节本方法;
List是Collection接口的子接口,也是最常用的接口,此接口对Collection接口进行了大量的扩展,List集合里的元素是可以重复的。
List接口的主要实现类有ArrayList,和LinkedList。
在数据量不大的情况下,这两个类性能差别不大,
一般情况下,集合里的元素很少变化的,一般用ArrayList,
假如集合里元素经常变动,要用LinkedList;底层实现有差别的。
1.看ArrayList实例;
package Month01.Day11.Demo02;
import java.util.ArrayList;
public class ArrayList_1 {
private static void printList(ArrayList<String> arrayList) {
System.out.println("当前集合的元素:");
// size()方法是获取集合的长度大小
for (int i = 0; i < arrayList.size(); i++) {
System.out.print(arrayList.get(i) + " ");
}
}
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<String>();
// add()方法 将指定的元素添加到此列表的尾部。
arrayList.add("小明");
arrayList.add("小李");
printList(arrayList);
System.out.println();
// 将指定的元素插入此列表中的指定位置,注意索引从0开始
arrayList.add(1, "小小明");
printList(arrayList);
System.out.println();
// 元素的替换
arrayList.set(2, "大理");
printList(arrayList);
System.out.println();
// 移除元素
arrayList.remove(2);
printList(arrayList);
}
}
输出结果:
当前集合的元素:
小明 小李
当前集合的元素:
小明 小小明 小李
当前集合的元素:
小明 小小明 大理
当前集合的元素:
小明 小小明
2.看LinkedList实例;
package Month01.Day11.Demo02;
import java.util.LinkedList;
public class LinkedList_Test {
private static void printLinkedList(LinkedList<String> linkedList) {
System.out.println("当前集合元素为:");
for (int i = 0; i < linkedList.size(); i++) {
System.out.print(linkedList.get(i) + " ");
}
}
public static void main(String[] args) {
LinkedList<String> linkedList = new LinkedList<String>();
linkedList.add("小1");
linkedList.add("小2");
linkedList.add("小3");
linkedList.add("小4");
linkedList.add("小5");
printLinkedList(linkedList);
System.out.println();
// indexOf() 返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。
System.out.println(linkedList.indexOf("小1"));
// peekFirst() 获取但不移除此列表的第一个元素;如果此列表为空,则返回 null。
System.out.println(linkedList.peekFirst());
printLinkedList(linkedList);
System.out.println();
// peekLast() 获取但不移除此列表的最后一个元素;如果此列表为空,则返回 null。
System.out.println(linkedList.peekLast());
printLinkedList(linkedList);
System.out.println();
// pollFirst() 获取并移除此列表的第一个元素;如果此列表为空,则返回 null。
System.out.println(linkedList.pollFirst());
printLinkedList(linkedList);
System.out.println();
// pollLast() 获取并移除此列表的最后一个元素;如果此列表为空,则返回 null。
System.out.println(linkedList.pollLast());
printLinkedList(linkedList);
System.out.println();
}
}
输出结果为:
当前集合元素为:
小1 小2 小3 小4 小5
0
小1
当前集合元素为:
小1 小2 小3 小4 小5
小5
当前集合元素为:
小1 小2 小3 小4 小5
小1
当前集合元素为:
小2 小3 小4 小5
小5
当前集合元素为:
小2 小3 小4