File size: 1,871 Bytes
0284885
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package Case_demo4;

import java.util.*;

public class Test4 {
    public static void main(String[] args) {
        /*
        需求:
            定义一个Map集合,键用来表示省份名称province,值表示市city,但是市会有多个。
            添加完毕后,遍历结果格式如下:
                江苏省 = 南京市,扬州市,苏州市,无锡市,常州市
                湖北省 = 武汉市,孝感市,十堰市,宜昌市,鄂州市
                河北省 = 石家庄市,唐山市,邢台市,保定市,张家口市
         */

        //1、创建Map集合
        HashMap<String, ArrayList<String>> hm = new HashMap<>();

        //2、创建单列集合存储市
        ArrayList<String> city1 = new ArrayList<>();
        Collections.addAll(city1, "南京市", "扬州市", "苏州市", "无锡市", "常州市");

        ArrayList<String> city2 = new ArrayList<>();
        Collections.addAll(city2, "武汉市", "孝感市", "十堰市", "宜昌市", "鄂州市");

        ArrayList<String> city3 = new ArrayList<>();
        Collections.addAll(city3, "石家庄市", "唐山市", "邢台市", "保定市", "张家口市");

        //3、把省份和多个市添加到map集合
        hm.put("江苏省", city1);
        hm.put("湖北省", city2);
        hm.put("河北省", city3);

        Set<Map.Entry<String, ArrayList<String>>> entries = hm.entrySet();
        for (Map.Entry<String, ArrayList<String>> entry : entries) {
            //entry依次表示每一个键值对对象
            String key = entry.getKey();
            ArrayList<String> value = entry.getValue();
            StringJoiner sj = new StringJoiner(",", "", "");

            for (String city : value) {
                sj.add(city);
            }
            System.out.println(key + " = " + sj);
        }

    }
}