对于这个题目,刚开始我是考虑保留一个重复值的键值对,在不指定的情况下,可以将键值对对调放进一个hashmap集合中,瞬间,就只剩下一个了,但是这里的代码是删除掉map集合中所有带有重复值的键值对。
就一个案例来解决这个问题,前面是我的代码和方法,后面一个是别人的,两个方法的思路基本上都是一样的,包括案例都是别人的
第一种方式:
public static void main(String[] args) {
Map<String, Integer> hm=new HashMap<>();
hm.put("张", 3);
hm.put("李", 4);
hm.put("王", 5);
hm.put("赵", 6);
hm.put("孙", 7);
hm.put("田", 7);
hm.put("周", 5);
//创建一个集合存放值,遍历map集合获取所有的值
ArrayList<Integer> list=new ArrayList<>();
Set<String> keys=hm.keySet();
for (String key : keys) {
list.add(hm.get(key));
}
System.out.println(list);
//遍历list集合,向后遍历找到相同的元素,添加到新的listrepeat集合中
ArrayList<Integer> listrepeat=new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
for