求助个jdk8的stream的问题

2025-05-08 00:48:53
推荐回答(1个)
回答1:

代码如下:

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public class App74 {

public static void main(String[] args) {

List> students = new ArrayList<>();

Map student = new HashMap<>();

student.put("id", 1);

student.put("studentName", "学生1");

student.put("sex", "男");

student.put("age", 20);

students.add(student);

student = new HashMap<>();

student.put("id", 2);

student.put("studentName", "学生2");

student.put("sex", "女");

student.put("age", 21);

students.add(student);

student = new HashMap<>();

student.put("id", 3);

student.put("studentName", "学生3");

student.put("sex", "男");

student.put("age", 25);

students.add(student);

// 查找 id 为 2 的学生

student = students.stream().filter(s -> s.get("id").equals(2)).findFirst().orElse(null);

// 或者

student = students.stream().filter(s -> s.get("id").equals(2)).findFirst().get();

System.out.println(student);

}

}

运行结果: