例如,我有以下代码:
Map<Student, Integer> rating = new HashMap<>();
...
for (Student student : studentsList) {
rating.put(student, student.getRate());
}
我已经尝试过Java8的forEach
方法:
studentsList.forEach(s -> rating.put(s, s.getRate()));
但似乎它更贵。如果我们切换到rating
方法(Standart forEach: 250 ms ,Java8&#39),将1M学生放入forEach
地图的两种方法的测试显示性能下降10% ; s forEach: 270 ms )
UPD: Per Paul Boddington 的提案,我试过了:
studentsList.stream().collect(Collectors.toMap(s -> s, Student::getRate))
结果在上述方法中效果最差。