如何使用 Lambda 表达式将数据从 ResultSet 放入 HashMap?

O.B*_*adr 5 sql-server lambda hashmap java-8

我的 SQL Server 2012 数据库中有一个表,如下所示:

Student:
ID, CardNo, Name, ZipCode, city, ...
Run Code Online (Sandbox Code Playgroud)

我正在使用 JDK 8 编写一个 Java 桌面应用程序,我想在其中将此表中的选定行放入一个HashMapwith CardNoas key 和Nameas value。

HashMap使用 lambda 表达式填充它的有效方法是什么?

注意:CardNo是唯一的。

Gio*_*eno 2

这是一个更简单的方法:

List<Student> students = xxxDao.retrieveStudents();

Map<Integer, String> map = students.stream()
            .collect(Collectors.toMap(Student::getCardNo, Student::getName));
Run Code Online (Sandbox Code Playgroud)

此外,您可以添加静态导入并使Collectors.toMap表达式更具可读性。