Java-Map中包含List遍历

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

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

        List<String> listA = new ArrayList<>();//创建listA
        listA.add("我是A1");//给listA添加数据
        listA.add("我是A2");
        listA.add("我是A3");

        List<String> listB = new ArrayList<>();//创建listB
        listB.add("我是B1");//给listB添加数据
        listB.add("我是B2");
        listB.add("我是B3");

        List<String> listC = new ArrayList<>();//创建listB
        listC.add("我是C1");//给listB添加数据
        listC.add("我是C2");
        listC.add("我是C3");

        Map<String, List<String>> map = new HashMap<>();//创建Map
        map.put("AA", listA);//把listA放到map中
        map.put("BB", listB);
        map.put("CC", listC);

        //第一种方式
        System.out.println("\n第一种方式:");
        for (String key : map.keySet()) {//通过Map.keySet遍历
            System.out.println(key + "---->" + map.get(key));
            List<String> list = map.get(key);//根据key得到Value,并存放在一个list中
            for (int i = 0; i < list.size(); i++) {//遍历这个list
                System.out.println("---->" + list.get(i).toString());//list.get(i)获取list中下标为i的值
            }
        }
        //第二种方式
        System.out.println("\n第二种方式:");
        for (Map.Entry<String, List<String>> maps : map.entrySet()) {//通过Map.entrySet遍历
            ArrayList rtnList = (ArrayList) maps.getValue();//获取Value
            String key = maps.getKey();//获取Key
            System.out.println(key + "---->" + rtnList);
            for (Object object : rtnList) {//遍历Value
                System.out.println("---->" + object);
            }
        }
    }
}
posted @ 2020-05-21 20:56  LilyoO  阅读(4354)  评论(0编辑  收藏  举报