如何在 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。
引數
o - 要搜尋的元素。
返回值
此列表中指定元素最後一次出現的索引,如果此列表不包含該元素,則返回 -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
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP