如何在 Java 物件列表中搜索?


List 介面擴充套件了 Collection 介面,表示儲存元素序列的集合。列表的使用者可以非常精確地控制要在列表中插入元素的位置。這些元素可以透過其索引訪問,並且可以搜尋。在 Java 開發人員中,ArrayList 是 List 介面最流行的實現。

Java List 介面提供了兩種方法,indexOf() 方法可用於獲取元素在列表中的位置,lastIndexOf() 方法可用於獲取元素的最後一次出現。在本文中,我們將討論 indexOf() 和 lastIndexOf() 方法以在列表中搜索元素。

indexOf() 方法。

int indexOf(Object o)

說明

  • 返回此列表中指定元素第一次出現的索引,如果此列表不包含該元素,則返回 -1。

  • 返回最低索引 i,使得 (o==null ? get(i)==null : o.equals(get(i))),如果不存在這樣的索引,則返回 -1。

引數

  • o - 要搜尋的元素。

返回值

此列表中指定元素第一次出現的索引,如果此列表不包含該元素,則返回 -1。

丟擲

  • ClassCastException - 如果指定元素的型別與該列表不相容(可選)。

  • NullPointerException - 如果指定元素為 null 且此列表不允許 null 元素(可選)。

lastIndexOf() 方法。

int lastIndexOf(Object o)

說明

  • 返回此列表中指定元素最後一次出現的索引,如果此列表不包含該元素,則返回 -1。

  • 返回最高索引 i,使得 (o==null ? get(i)==null : o.equals(get(i))),如果不存在這樣的索引,則返回 -1。

引數

  • - 要搜尋的元素。

返回值

此列表中指定元素最後一次出現的索引,如果此列表不包含該元素,則返回 -1。

丟擲

  • ClassCastException - 如果指定元素的型別與該列表不相容(可選)。

  • NullPointerException - 如果指定元素為 null 且此列表不允許 null 元素(可選)。

示例 1

以下示例顯示了 indexOf() 方法的使用:

package com.tutorialspoint;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class CollectionsDemo {
   public static void main(String[] args) {
      List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3,4,5,6,7,8,9,0));
      System.out.println("List: " + list);
      int positionOfFive = list.indexOf(Integer.valueOf(5));
     
      System.out.println("5 is present at index: " + positionOfFive);
      int positionOfTen = list.indexOf(Integer.valueOf(10));
      System.out.println("10 is present at index: " + positionOfTen);
   }
}

輸出

這將產生以下結果:

List: [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
5 is present at index: 4
10 is present at index: -1

示例 2

以下示例顯示了 lastIndexOf() 方法的使用:

package com.tutorialspoint;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class CollectionsDemo {
   public static void main(String[] args) {
      List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3,4,5,6,7,8,9,0,1,2,3,4,5));
      System.out.println("List: " + list);
      int positionOfFive = list.lastIndexOf(Integer.valueOf(5));
     
      System.out.println("5 is present at index: " + positionOfFive);
      int positionOfTen = list.lastIndexOf(Integer.valueOf(10));
      System.out.println("10 is present at index: " + positionOfTen);
   }
}

輸出

這將產生以下結果:

List: [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5]
5 is present at index: 14
10 is present at index: -1

更新於: 2022-05-26

3K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.