0
我有一些对象的s A
和B
有一个字段key
。我想压缩那些基于该字段的2个集合,使对象A和B的元组具有相同的key
。基于Java中的值的邮编2集合
来源:
Collection<A> a;
Collection<B> b;
要:
List<Pair<A, B>> ab; // where A and B have the same key field
我在做什么,现在是手动构建Map<KeyType, Pair<A, B>>
和创建从一个列表,但我相信有一个更好的方式来做到这一点。
编辑(解释我是如何创建地图):
Map<KeyType, Pair<A, B>> keyToAandB = new HashMap<>();
a.stream()
.forEach(aa -> keyToAandB.put(
aa.getKey(),
Pair.of(aa, null)));
b.stream()
.forEach(bb -> keyToAandB.put(
bb.getKey(),
Pair.of(
keyToAandB.get(bb.getKey()).getFirst(),
bb)));
使问题更清楚,你可以说明你是如何创建'Map> –
nullpointer