Java 如何在对象列表中搜索

Java 如何在对象列表中搜索

列表接口扩展了集合接口,并表示存储元素序列的集合。列表的用户对于在列表中插入元素有相当精确的控制。这些元素可以通过它们的索引进行访问和搜索。ArrayList是Java开发人员中最受欢迎的列表接口实现。

Java列表接口提供了两个方法,indexOf()方法可以用于获取列表中元素的位置,lastIndexOf()方法可以用于获取最后一个出现的元素。本文讨论了indexOf()和lastIndexOf()方法来搜索列表中的元素。

indexOf()方法

int indexOf(Object o)

注释

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

  • 返回最低索引i,使得(onull ? get(i)null : o.equals(get(i))),如果没有这样的索引,则返回-1。

参数

  • o - 要搜索的元素。

返回值

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

抛出异常

  • ClassCastException - 如果指定元素的类型与此列表不兼容(可选)。

  • NullPointerException - 如果指定元素为null,且此列表不允许null元素(可选)。

lastIndexOf()方法

int lastIndexOf(Object o)

注意事项

  • 返回指定元素在列表中最后一次出现的索引,如果列表中不包含该元素则返回-1。

  • 返回最高索引i,使得(onull ? get(i)null : o.equals(get(i))),如果不存在这样的索引则返回-1。

参数

  • o - 要搜索的元素。

返回值

指定元素在列表中最后一次出现的索引,如果列表中不包含该元素则返回-1。

抛出异常

  • ClassCastException - 如果指定元素的类型与该列表的类型不兼容(可选)。

  • NullPointerException - 如果指定元素为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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程