java实现map的key和value list反转

import java.util.*;

public class MyClass {
    public static void main(String[] args) {

        HashMap<String, List<String>> config2Link = new HashMap<>();
        List<String> configs = new ArrayList<>();
        configs.add("name");
        configs.add("id");
        config2Link.put("A",configs);


        List<String> configs1 = new ArrayList<>();
        configs1.add("name");
        configs1.add("adress");
        config2Link.put("B",configs1);

        List<String> configs3 = new ArrayList<>();
        configs3.add("age");
        config2Link.put("C",configs3);


        //将map的key和value进行反转存储
        Map<String,List<String>> result=new HashMap<>();
        for(Map.Entry<String, List<String>> values:config2Link.entrySet()){
            String mapKey=values.getKey();
            List<String> mapValues=values.getValue();
            for(String value:mapValues){
                if(result.containsKey(value)){
                    List<String> list=result.get(value);
                    list.add(mapKey);
                    result.put(value,list);
                }else{
                    List<String> list=new ArrayList<>();
                    list.add(mapKey);
                    result.put(value,list);
                }
            }
        }
        System.out.println("convert map:"+result.toString());

    }
}

猜你喜欢

转载自blog.csdn.net/Strive_0902/article/details/128851558