1.使用如下键值对,初始化一个HashMap:
adc - 物理英雄
apc - 魔法英雄
t - 坦克
对这个HashMap进行反转,key变成value,value变成key
注:keySet()可以获取所有的key, values()可以获取所有的value
1 package Collection; 2 3 import java.util.ArrayList; 4 import java.util.HashMap; 5 import java.util.List; 6 7 public class test7 { 8 9 public static void main(String[] args) { 10 HashMap<String, String> hm = new HashMap<>(); 11 hm.put("adc", "物理英雄"); 12 hm.put("apc", "魔法英雄"); 13 hm.put("t", "坦克"); 14 System.out.println(hm); 15 // hm.keySet()和hm.values()都是返回Collection,Collection不能直接转换成List,解决办法是直接构造ArrayList 16 // 解决办法二:Collection先转数组:toArray(),再转List:Arrays.asList(); 17 // List<Object> testList= Arrays.asList(hm.keySet().toArray()); 18 List<String> keysList = new ArrayList<String>(hm.keySet()); 19 List<String> valuesList = new ArrayList<String>(hm.values()); 20 21 hm.clear(); 22 for (int i = 0; i < keysList.size(); i++) { 23 hm.put(valuesList.get(i), keysList.get(i)); 24 } 25 System.out.println(hm); 26 27 } 28 }
效果图: