Java 如何在List中找到元素
List接口扩展了Collection接口,表示存储一系列元素的集合。列表的用户可以对元素插入列表的位置有很精确的控制。这些元素可以通过它们的索引访问,并且可进行搜索。ArrayList是Java开发人员中最常用的List接口实现方法。
在Java List中,有几种方法可以找到一个元素。
- 使用indexOf()方法。 - 如果元素存在,则该方法返回元素的索引,否则返回-1。
-
使用contains()方法。 - 如果元素存在,则返回true,否则返回false。
-
通过循环遍历列表的元素,并判断该元素是否为所需的。
-
使用流循环遍历列表的元素,并过滤出该元素。
在本文中,我们将分别介绍上面提到的每种方法的示例。
示例1
以下是一个示例,展示了使用indexOf()和contains()方法在列表中查找元素的用法−
package com.tutorialspoint;
import java.util.ArrayList;
import java.util.List;
public class CollectionsDemo {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Zara");
list.add("Mahnaz");
list.add("Ayan");
System.out.println("List: " + list);
String student = "Ayan";
if(list.indexOf(student) != -1) {
System.out.println("Ayan is present.");
}
if(list.contains(student)) {
System.out.println("Ayan is present.");
}
}
}
输出
这将产生以下结果-
List: [Zara, Mahnaz, Ayan]
Ayan is present.
Ayan is present.
示例2
以下是一个示例,展示如何使用迭代和流来在列表中查找元素−
package com.tutorialspoint;
import java.util.ArrayList;
import java.util.List;
public class CollectionsDemo {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Zara");
list.add("Mahnaz");
list.add("Ayan");
System.out.println("List: " + list);
String student = "Ayan";
for (String student1 : list) {
if(student1 == "Ayan") {
System.out.println("Ayan is present.");
}
}
String student2 = list.stream().filter(s -> {return s.equals(student);}).findAny().orElse(null);
System.out.println(student2);
}
}
输出
这将产生以下结果 –
List: [Zara, Mahnaz, Ayan]
Ayan is present.
Ayan