不使用hashmap java过滤对象列表

时间:2018-03-19 11:54:35

标签: java hashmap

假设我有一个对象列表 - 学生。每个学生对象都有各种属性 - 卷号,类名(不要与Java类名混淆,这是学生的班级名称),学生姓名等。

要求是检索具有类名称为“堆栈溢出”的学生对象。我们可以创建一个带有classname(String)的hashmap,它是各自的student对象。在java中有没有使用hashmap的其他解决方案?我遇到过各种各样的要求,通常我会创建一个hashmap并继续前进。我只是好奇是否有更好的方法来解决这些问题。

1 个答案:

答案 0 :(得分:1)

使用java 8 stream api

Student result1 = list.stream()                        // Convert to steam
                .filter(x -> "rahul".equals(x.getName()))        // we want "rahul" only
                .findAny()                                      // If 'findAny' then return found
                .orElse(null); 

收集清单

List<Student> result1 = list.stream()                        // Convert to steam
          .filter(x -> "rahul".startsWith(x.getName()))
          .collect(Collectors.toList());