假设我有一个键 - >值对的映射,我想要反转这个,以便我有一个新的映射,它实际上是值 - >键(即旧值变为新键,旧键变为新值).
什么是最好的方法呢?(我正在使用Java ......).
哦,价值观是独一无二的.
我认为这里有足够的解决方案来解决您的问题.我只想指出要小心,因为如果值不是唯一的,可能会导致数据丢失.Fe如果你有以下地图:
A->X
B->Y
C->Y
Run Code Online (Sandbox Code Playgroud)
反之亦然
X->A
Y->B
Run Code Online (Sandbox Code Playgroud)
要么
X->A
Y->C
Run Code Online (Sandbox Code Playgroud)
这取决于插入的顺序.通过再次反转,您将有一个<key,value>对更少.
迭代entrySet:
for ( Map.Entry<K, V> entry : map.entrySet() ) {
newMap.put(entry.getValue(), entry.getKey());
}
return newMap;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3752 次 |
| 最近记录: |