集合的嵌套
- 任何集合内部都可以存储其它任何集合;
- 嵌套 = 套住;
1. List 嵌套 List
ArrayList<ArrayList<String>>
;
import java.util.ArrayList;
public class test {
public static void main(String[] args) {
ArrayList<String> list1 = new ArrayList<>();
list1.add("迪丽热巴");
list1.add("古力娜扎");
list1.add("柳岩");
list1.add("杨幂");
ArrayList<String> list2 = new ArrayList<>();
list2.add("蔡徐坤");
list2.add("杨坤");
list2.add("陈伟霆");
list2.add("李易峰");
ArrayList<ArrayList<String>> allList = new ArrayList<>();
allList.add(list1);
allList.add(list2);
for (ArrayList<String> list : allList) {
for (String s : list) {
System.out.println(s);
}
}
}
}
2. List 嵌套 Map
ArrayList<Map<String,String>>
;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class test{
public static void main(String[] args){
Map<String,String> map1 = new HashMap<>();
map1.put("001","迪丽热巴");
map1.put("002","古力娜扎");
Map<String,String> map2 = new HashMap<>();
map2.put("001","蔡徐坤");
map2.put("002","李易峰");
ArrayList<Map<String,String>> allList = new ArrayList<>();
allList.add(map1);
allList.add(map2);
for(Map<String,String> map : allList){
Set<String> keys = map.keySet();
for(String key : keys){
System.out.println(key + " - " + map.get(key));
}
}
}
}
3. Map 嵌套 Map
Map<String, Map<String, String>>
;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class test {
public static void main(String[] args) {
Map<String, String> map1 = new HashMap<>();
map1.put("it001", "迪丽热巴");
map1.put("it002", "古力娜扎");
Map<String, String> map2 = new HashMap<>();
map2.put("001", "蔡徐坤");
map2.put("002", "李易峰");
Map<String, Map<String, String>> allMap = new HashMap<>();
allMap.put("1期", map1);
allMap.put("2期", map2);
Set<String> keys = allMap.keySet();
for (String k : keys) {
System.out.println(k + ":");
Map<String, String> map = allMap.get(k);
Set<String> keys2 = map.keySet();
for (String k2 : keys2) {
System.out.println(k2 + " = " + map.get(k2));
}
}
}
}
4. Map 嵌套 List
import java.util.*;
class Book {
private String name;
public Book(String name) {
this.name = name;
}
@Override
public String toString() {
return name;
}
}
public class Test {
public static void main(String[] args) {
ArrayList<Book> book = new ArrayList<>();
book.add(new Book("金瓶梅"));
book.add(new Book("聊斋志异"));
book.add(new Book("人间失格"));
book.add(new Book("失乐园"));
HashMap<String, ArrayList<Book>> hm = new HashMap<>();
hm.put("奇书", book);
System.out.println(hm);
}
}