3.定义Map集合,其中键为图书的类型,自定义类型图书类Book的List集合作为值,添加元素。再获取该Map的值,将每本图书信息进行输出。
时间: 2024-04-15 08:31:20 浏览: 65
用c++定义一个Book(图书)类
5星 · 资源好评率100%
好的,根据您的要求,我将为您定义一个Map集合,并添加元素。请注意,我将使用Java语言来展示代码示例。
首先,我们需要创建一个自定义的图书类Book,它将作为Map的值。假设Book类具有以下属性:title(书名)、author(作者)和price(价格)。
```java
public class Book {
private String title;
private String author;
private double price;
// 构造方法和其他方法省略
// Getter和Setter方法省略
}
```
接下来,我们可以定义Map集合并添加元素。请注意,我们将使用图书的类型作为键,而值将是一个List集合,其中包含相同类型的图书对象。
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, List<Book>> bookMap = new HashMap<>();
// 创建一些图书对象
Book book1 = new Book("Book1", "Author1", 29.99);
Book book2 = new Book("Book2", "Author2", 19.99);
Book book3 = new Book("Book3", "Author3", 39.99);
// 添加图书到Map集合中
List<Book> booksOfType1 = new ArrayList<>();
booksOfType1.add(book1);
booksOfType1.add(book2);
bookMap.put("Type1", booksOfType1);
List<Book> booksOfType2 = new ArrayList<>();
booksOfType2.add(book3);
bookMap.put("Type2", booksOfType2);
// 输出每本图书的信息
for (List<Book> books : bookMap.values()) {
for (Book book : books) {
System.out.println("Title: " + book.getTitle());
System.out.println("Author: " + book.getAuthor());
System.out.println("Price: " + book.getPrice());
System.out.println("----------------------");
}
}
}
}
```
运行以上代码,您将会看到每本图书的信息被输出到控制台。请注意,您可以根据需要添加更多的图书对象和图书类型到Map集合中。
希望以上代码能满足您的需求!如果还有其他问题,请随时提问。
阅读全文