如果我有类似
的课程public class Property {
private String id;
private String key;
private String value;
public Property(String id, String key, String value) {
this.id = id;
this.key = key;
this.value = value;
}
//getters and setters
}
我有一些Set<Property> properties
的一些属性,我希望将这些属性简化为这些Map
对象中的键和值的Property
。
我的大多数解决方案最终都不那么温文尔雅。我知道使用Collector
可以很方便地完成这些操作,但我还不熟悉Java8。有什么提示吗?
答案 0 :(得分:7)
Set<Property> properties = new HashSet<>();
properties.add(new Property("0", "a", "A"));
properties.add(new Property("1", "b", "B"));
Map<String, String> result = properties.stream()
.collect(Collectors.toMap(p -> p.key, p -> p.value));
System.out.println(result);