java对Map<String, ArrayList<Book>>双层集合进行遍历,先获取外层Key,根据Key遍历所有value,再遍历里面集合,同时进行book的添加
时间: 2023-06-09 14:01:54 浏览: 101
您好,这是一个Java编程问题。您可以使用Map的entrySet()方法获取Map中所有的键值对,然后遍历这些键值对,获取外层Key。在遍历外层Key对应的value时,可以使用增强for循环进行遍历,获取里层的ArrayList<Book>集合,然后再使用增强for循环遍历这个集合,同时进行book的添加。
以下是示例代码:
```
Map<String, ArrayList<Book>> map = new HashMap<String, ArrayList<Book>>();
// 添加一些测试数据
ArrayList<Book> list1 = new ArrayList<Book>();
list1.add(new Book("Java编程思想"));
list1.add(new Book("Effective Java"));
map.put("计算机图书", list1);
ArrayList<Book> list2 = new ArrayList<Book>();
list2.add(new Book("红楼梦"));
list2.add(new Book("西游记"));
map.put("文学名著", list2);
// 遍历Map,获取所有外层Key
for (Map.Entry<String, ArrayList<Book>> entry : map.entrySet()) {
String key = entry.getKey(); // 获取外层Key
ArrayList<Book> value = entry.getValue(); // 获取外层Key对应的value
// 遍历外层Key对应的value,获取里层的ArrayList<Book>
for (Book book : value) {
// 对里层的ArrayList<Book>进行操作,例如添加新的Book
bookList.add(new Book("新的书籍"));
}
}
```
阅读全文