定义Map集合,其中键为图书的类型,自定义类型图书类Book的List集合作为值,添加元素。再获取该Map的值,将每本图书信息进行输出。
时间: 2024-04-15 15:31:28 浏览: 145
你可以使用Java中的Map接口和List集合来定义一个Map集合,其中键为图书的类型,值为自定义类型图书类Book的List集合。以下是示例代码:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
// 定义Map集合,键为图书的类型,值为自定义类型图书类Book的List集合
Map<String, List<Book>> bookMap = new HashMap<>();
// 添加元素到Map集合
List<Book> fictionBooks = new ArrayList<>();
fictionBooks.add(new Book("Harry Potter", "J.K. Rowling"));
fictionBooks.add(new Book("The Lord of the Rings", "J.R.R. Tolkien"));
List<Book> nonFictionBooks = new ArrayList<>();
nonFictionBooks.add(new Book("Sapiens: A Brief History of Humankind", "Yuval Noah Harari"));
nonFictionBooks.add(new Book("Educated", "Tara Westover"));
bookMap.put("Fiction", fictionBooks);
bookMap.put("Non-Fiction", nonFictionBooks);
// 获取Map的值并输出每本图书的信息
for (Map.Entry<String, List<Book>> entry : bookMap.entrySet()) {
String bookType = entry.getKey();
List<Book> books = entry.getValue();
System.out.println("图书类型:" + bookType);
for (Book book : books) {
System.out.println("书名:" + book.getTitle() + " 作者:" + book.getAuthor());
}
System.out.println();
}
}
static class Book {
private String title;
private String author;
public Book(String title, String author) {
this.title = title;
this.author = author;
}
public String getTitle() {
return title;
}
public String getAuthor() {
return author;
}
}
}
```
在以上代码中,我们定义了一个Map集合`bookMap`,键的类型为String,值的类型为List<Book>。我们创建了两个List集合,分别存放虚构类图书和非虚构类图书的信息,并将它们作为值放入Map集合中。然后,我们通过遍历Map集合的键值对,获取每个图书类型对应的图书列表,并输出每本图书的信息。
运行以上代码,将会输出每本图书的信息,按照图书类型进行分组。
阅读全文