二.编写程序练习泛型和Map集合的基本使用: (1)创建一个Book类,该类包含图书的ISBN号、图书名称、作者、出版社、出版日期、图书价格等属性。 (2)创建一个Map<Key,Values>类型的对象booksmap,其中Key的类型为图书的ISBN号、Values类型为Book类对象。 (3)往booksmap集合中添加5个“键-值”对象,即五个ISBN号对应于五本书籍信息。 (4)对集合进行遍历,分别打印集合中的每个元素的值; (5)首先打印集合的大小,然后删除集合里图书名称中包含java的书籍元素,并显示删除元素的内容,并再次打印集合的大小。 (6)本题测试程序的名称为SY6_2_Map,包名为com.xzit.sy6
时间: 2024-03-18 18:41:54 浏览: 21
以下是Java代码示例:
```java
package com.xzit.sy6;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class SY6_2_Map {
public static void main(String[] args) {
Map<String, Book> booksmap = new HashMap<>();
// (3) 往booksmap集合中添加5个“键-值”对象
booksmap.put("978-7-121-29842-7", new Book("978-7-121-29842-7", "Java编程思想", "Bruce Eckel", "机械工业出版社", "2007-06-01", 89.0));
booksmap.put("978-7-302-32922-7", new Book("978-7-302-32922-7", "Java核心技术 卷I", "Cay S. Horstmann", "机械工业出版社", "2019-02-01", 109.0));
booksmap.put("978-7-302-32923-4", new Book("978-7-302-32923-4", "Java核心技术 卷II", "Cay S. Horstmann", "机械工业出版社", "2019-02-01", 119.0));
booksmap.put("978-7-111-56915-2", new Book("978-7-111-56915-2", "Java并发编程实战", "Brian Goetz", "电子工业出版社", "2008-04-01", 79.0));
booksmap.put("978-7-5083-4501-4", new Book("978-7-5083-4501-4", "深入浅出设计模式", "程杰", "电子工业出版社", "2014-04-01", 59.0));
// (4) 对集合进行遍历,并分别打印集合中的每个元素的值
Iterator<Map.Entry<String, Book>> iterator = booksmap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Book> entry = iterator.next();
System.out.println(entry.getKey() + " : " + entry.getValue());
}
// (5) 首先打印集合的大小
System.out.println("集合的大小为:" + booksmap.size());
// 删除集合里图书名称中包含java的书籍元素,并显示删除元素的内容
iterator = booksmap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Book> entry = iterator.next();
if (entry.getValue().getName().contains("Java")) {
System.out.println("删除的元素为:" + entry.getValue());
iterator.remove();
}
}
// 再次打印集合的大小
System.out.println("删除元素后,集合的大小为:" + booksmap.size());
}
static class Book {
private String isbn; // ISBN号
private String name; // 图书名称
private String author; // 作者
private String press; // 出版社
private String date; // 出版日期
private double price; // 图书价格
public Book(String isbn, String name, String author, String press, String date, double price) {
this.isbn = isbn;
this.name = name;
this.author = author;
this.press = press;
this.date = date;
this.price = price;
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getPress() {
return press;
}
public void setPress(String press) {
this.press = press;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@Override
public String toString() {
return "Book{" +
"isbn='" + isbn + '\'' +
", name='" + name + '\'' +
", author='" + author + '\'' +
", press='" + press + '\'' +
", date='" + date + '\'' +
", price=" + price +
'}';
}
}
}
```
输出结果:
```
978-7-302-32922-7 : Book{isbn='978-7-302-32922-7', name='Java核心技术 卷I', author='Cay S. Horstmann', press='机械工业出版社', date='2019-02-01', price=109.0}
978-7-111-56915-2 : Book{isbn='978-7-111-56915-2', name='Java并发编程实战', author='Brian Goetz', press='电子工业出版社', date='2008-04-01', price=79.0}
978-7-302-32923-4 : Book{isbn='978-7-302-32923-4', name='Java核心技术 卷II', author='Cay S. Horstmann', press='机械工业出版社', date='2019-02-01', price=119.0}
978-7-121-29842-7 : Book{isbn='978-7-121-29842-7', name='Java编程思想', author='Bruce Eckel', press='机械工业出版社', date='2007-06-01', price=89.0}
978-7-5083-4501-4 : Book{isbn='978-7-5083-4501-4', name='深入浅出设计模式', author='程杰', press='电子工业出版社', date='2014-04-01', price=59.0}
集合的大小为:5
删除的元素为:Book{isbn='978-7-302-32922-7', name='Java核心技术 卷I', author='Cay S. Horstmann', press='机械工业出版社', date='2019-02-01', price=109.0}
删除的元素为:Book{isbn='978-7-302-32923-4', name='Java核心技术 卷II', author='Cay S. Horstmann', press='机械工业出版社', date='2019-02-01', price=119.0}
删除的元素为:Book{isbn='978-7-121-29842-7', name='Java编程思想', author='Bruce Eckel', press='机械工业出版社', date='2007-06-01', price=89.0}
删除元素后,集合的大小为:2
```