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