Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤與異常

Java 多執行緒

Java 同步

Java 網路程式設計

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 其他

Java API 與框架

Java 類引用

Java 有用資源

Java - List 介面



List 介面

List 介面擴充套件了 Collection 並聲明瞭儲存元素序列的集合的行為。

  • 可以使用基於零的索引透過其位置插入或訪問元素。

  • 列表可以包含重複元素。

  • 除了Collection定義的方法外,List還定義了一些它自己的方法,這些方法在下面的表格中進行了總結。

  • 如果集合無法修改,則列表的幾個方法將丟擲 UnsupportedOperationException,當一個物件與另一個物件不相容時,將生成 ClassCastException。

Java List 介面的宣告

以下是 Java 中 List 介面的宣告

public interface List<E> extends Collection<E>; 

建立 Java 列表

使用 List 介面建立 Java 列表。語法如下:

List<Obj> list = new ArrayList<Obj> (); 

List 介面示例

以下示例演示了 Java 中 List 介面的示例:

import java.util.*;

// The Main class
public class Main {
  public static void main(String[] args) {
    // Creating two lists using List interface
    List < Integer > list1 = new ArrayList < Integer > ();
    List < Integer > list2 = new ArrayList < Integer > ();

    // Adding elements to list 1
    list1.add(0, 10);
    list1.add(1, 20);

    // Printing list 1
    System.out.println("list1 : " + list1);

    // Adding elements to list 2
    list2.add(10);
    list2.add(20);
    list2.add(30);

    // Adding all elements of list 2 in list 1
    list1.addAll(1, list2);

    // Printing list 2
    System.out.println("list2 : " + list2);

    // Removes an element from list 1 (from index 1)
    list1.remove(1);

    // Printing list 1
    System.out.println("list1 after removing an element: " + list1);

    // get() method
    System.out.println("list1 using get() : " + list1.get(2));

    // Replacing element
    list1.set(0, 50);

    // Printing the list 1
    System.out.println("list1 : " + list1);
  }
}

輸出

list1 : [10, 20]
list2 : [10, 20, 30]
list1 after removing an element: [10, 20, 30, 20]
list1 using get() : 30
list1 : [50, 20, 30, 20]

List 介面方法

以下是 Java 中 List 介面的方法:

序號 方法及描述
1

void add(int index, Object obj)

將 obj 插入到呼叫列表中 index 指定的索引處。插入點處或其後的任何現有元素都將向上移動。因此,不會覆蓋任何元素。

2

boolean addAll(int index, Collection c)

c的所有元素插入到呼叫列表中 index 指定的索引處。插入點處或其後的任何現有元素都將向上移動。因此,不會覆蓋任何元素。如果呼叫列表發生更改,則返回 true;否則返回 false。

3

Object get(int index)

返回呼叫集合中指定索引處儲存的物件。

4

int indexOf(Object obj)

返回 obj 在呼叫列表中第一次出現的索引。如果 obj 不是列表的元素,則返回 -1。

5

int lastIndexOf(Object obj)

返回 obj 在呼叫列表中最後一次出現的索引。如果 obj 不是列表的元素,則返回 -1。

6

ListIterator listIterator( )

返回呼叫列表開頭的迭代器。

7

ListIterator listIterator(int index)

返回呼叫列表的迭代器,該迭代器從指定的索引開始。

8

Object remove(int index)

從呼叫列表中移除 index 位置處的元素,並返回已刪除的元素。生成的列表將被壓縮。也就是說,後續元素的索引將遞減 1。

9

Object set(int index, Object obj)

將 obj 分配給呼叫列表中 index 指定的位置。

10

List subList(int start, int end)

返回一個包含呼叫列表中從起始位置到結束位置(包含結束位置)元素的列表。返回列表中的元素也由呼叫物件引用。

列表介面的更多示例

示例:使用 ArrayList 的 Java 列表

以上介面已使用 ArrayList 實現。以下示例解釋了上述集合方法的各種類實現中的一些方法。

import java.util.ArrayList;
import java.util.List;
public class CollectionsDemo {

   public static void main(String[] args) {
      List<String> a1 = new ArrayList<>();
      a1.add("Zara");
      a1.add("Mahnaz");
      a1.add("Ayan");      
      System.out.println(" ArrayList Elements");
      System.out.print("\t" + a1);
   }
}

輸出

 ArrayList Elements
   [Zara, Mahnaz, Ayan]

示例:使用 LinkedList 的 Java 列表

以上介面已使用 LinkedList 實現。以下示例解釋了上述集合方法的各種類實現中的一些方法。

import java.util.LinkedList;
import java.util.List;
public class CollectionsDemo {

   public static void main(String[] args) {
      List<String> a1 = new LinkedList<>();
      a1.add("Zara");
      a1.add("Mahnaz");
      a1.add("Ayan");      
      System.out.println(" LinkedList Elements");
      System.out.print("\t" + a1);
   }
}

輸出

 LinkedList Elements
   [Zara, Mahnaz, Ayan]

示例:向 Java 列表新增元素

以上介面已使用 ArrayList 實現。以下是一個其他的示例,用於解釋上述集合方法的各種類實現中的一些方法。

import java.util.ArrayList;
import java.util.List;
public class CollectionsDemo {

   public static void main(String[] args) {
      List<String> a1 = new ArrayList<>();
      a1.add("Zara");
      a1.add("Mahnaz");
      a1.add("Ayan");      
      System.out.println(" ArrayList Elements");
      System.out.print("\t" + a1);
      
      // remove second element
      a1.remove(1);
      
      System.out.println("\n ArrayList Elements");
      System.out.print("\t" + a1);
   }
}

輸出

 ArrayList Elements
   [Zara, Mahnaz, Ayan]
 ArrayList Elements
   [Zara, Ayan]
廣告