如何在 Java 对象列表中进行搜索?
List 接口扩展了 Collection 接口,表示存储元素序列的集合。列表用户可以非常精确地控制将元素插入到列表中的位置。这些元素可通过其索引访问,并且可以搜索。ArrayList 是 Java 开发人员中最流行的 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 - 如果指定元素为空,并且此列表不允许空元素(可选)。
lastIndexOf() 方法。
int lastIndexOf(Object o)
注释
返回此列表中指定元素最后一次出现的索引,如果此列表不包含,则返回 -1元素。
返回最高索引 i,使得 (o==null ? get(i)==null : o.equals(get(i))),如果没有这样的索引,则为 -1。
参数
o - 要搜索的元素。
返回
此列表中指定元素最后一次出现的索引,如果此列表不包含该元素,则为 -1。
抛出
ClassCastException - 如果指定元素的类型与此列表不兼容(可选)。
NullPointerException - 如果指定元素为空,并且此列表不允许空元素(可选)。
示例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 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

