1. 程式人生 > >Java集合——List集合

Java集合——List集合

首先,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