这是一个启动问题,我想用键交换键,反之亦然HashMap.这是我到目前为止所尝试的内容.
import java.util.HashMap;
import java.util.Map;
class Swap{
public static void main(String args[]){
HashMap<Integer, String> s = new HashMap<Integer, String>();
s.put(4, "Value1");
s.put(5, "Value2");
for(Map.Entry en:s.entrySet()){
System.out.println(en.getKey() + " " + en.getValue());
}
}
}
Run Code Online (Sandbox Code Playgroud)
您需要一个新的Map,因为示例中的键和值具有不同的类型.
在Java 8中,通过创建Stream原始条目Map并使用a toMap Collector生成新条目,可以非常轻松地完成此操作Map:
Map<String,Integer> newMap =
s.entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getValue,Map.Entry::getKey));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2013 次 |
| 最近记录: |