ArrayList嵌套HashMap
案例:ArrayList集合存储HashMap元素并遍历 需求:创建一个ArrayList集合,存储上元素,每一个元素都是HashMap,每一个HashMap的键和值都是String,并遍历
思路: 1、创建ArrayList集合 2、创建HashMap集合,并添加键值对元素 3、把HashMap集合作为元素添加到ArrayList集合 4、遍历ArrayList集合
ArrayList嵌套HashMap的练习
xxxxxxxxxx
package ch17;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
public class a_8_1测试 {
public static void main(String[] args) {
//创建ArrayList集合。因为ArrayList集合里面存储的元素是HashMap集合,且每一个HashMap的键和值都是String,所以注意下一行写法
//注意当使用这种嵌套时,ArrayList集合的元素类型是HashMap<String,String>
ArrayList<HashMap<String, String>> array = new ArrayList<HashMap<String, String>>();
//-------------------------------------------------------------------------------------------------------------------
//创建HashMap集合,并添加键值对元素
HashMap<String, String> hm1 = new HashMap<String, String>();
hm1.put("男1", "女1");
hm1.put("男2", "女2");
hm1.put("男3", "女3");
//-------------------------------------------------------------------------------------------------------------------
//创建HashMap集合,并添加键值对元素
HashMap<String, String> hm2 = new HashMap<String, String>();
hm2.put("男11", "女11");
hm2.put("男22", "女22");
hm2.put("男33", "女33");
//-------------------------------------------------------------------------------------------------------------------
//创建HashMap集合,并添加键值对元素
HashMap<String, String> hm3 = new HashMap<String, String>();
hm3.put("男111", "女111");
hm3.put("男222", "女222");
hm3.put("男333", "女333");
//-------------------------------------------------------------------------------------------------------------------
//把HashMap集合作为元素添加到ArrayList集合。即ArrayList集合里面有3个元素,每个元素都是HashMap类型的
array.add(hm1);
array.add(hm2);
array.add(hm3);
//-------------------------------------------------------------------------------------------------------------------
//遍历ArrayList集合
for (HashMap<String, String> hm : array) { //每个hm其实是HashMap集合,即下面具体的遍历需要按照HashMap的遍历方式
//遍历其中的HashMap集合
Set<String> keySet = hm.keySet();
//遍历HashMap集合里面的每一个元素
for (String key : keySet) {
String value = hm.get(key);
System.out.println(key + "," + value);
}
}
}
}