map集合题

来源:互联网 发布:网络小红人姗姗和涵涵 编辑:程序博客网 时间:2024/06/05 07:59

map 中有 {张三=3,李四=7,王五=9,刘六=5,田七=7,周七=3}

这些元素,定义一个list,将map中 value值相同的元素从该map集合中去掉,

将剩余的元素中的姓名存入到该list中然后打印到控制台上。

(题 目中的去重,不是去除所有重复元素,而是去除一个重复元素,保留一个)

这里写图片描述

public class map {    public static void main(String[] args) {        Map<String, Integer> map = new HashMap<>();        map.put("张三", 3);        map.put("李四", 7);        map.put("王五", 9);        map.put("刘六", 5);        map.put("田七", 7);        map.put("周七", 3);        ArrayList<Integer> list = new ArrayList<>();        //用于存储map集合中不重复的值        ArrayList<String> list2 = new ArrayList<>();        //用于存储map集合中剩余的键        //    Set<Map.Entry<String, Integer>> entrySet = hm.entrySet();        Iterator<Map.Entry<String, Integer>> it = map.entrySet().iterator();        while(it.hasNext()){            Map.Entry<String, Integer> en = it.next();            //判断list集合里是否包含map集合中值            if(!list.contains(en.getValue())){                list.add(en.getValue());                list2.add(en.getKey());            }else{                it.remove();            }        }        System.out.println(map);        System.out.println(list2);        System.out.println(list);    }}
原创粉丝点击