速学堂(java)第九章编程题答案(自写)
1. 使用List和Map存放多个图书信息,遍历并输出。其中商品属性:编号,名称,单价,出版社;使用商品编号作为Map中的key。
package cn.sxt.jiu;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 使用List和Map存放多个图书信息,遍历并输出。
* 其中商品属性:编号,名称,单价,出版社;使用
* 商品编号作为Map中的key。
* @author ASUS
*
*/
public class lianxi01 {
public static void main(String[] args) {
listStorage();//将图书信息用List存储
System.out.println("------------------------------------");//分隔线
mapStorage();//将图书信息用Map进行存储
}
//将图书信息用List存储
public static void listStorage(){
System.out.println("采用List存放图书信息如下:");
//创建List容器
List<Book>book = new ArrayList<>();
book.add(new Book(1001,"百年孤独",58,"人民出版社"));
book.add(new Book(1002,"城市发展史",86,"清华出版社"));
book.add(new Book(1003,"美国大城市的死与生",75,"中国人民大学出版社"));
//用增强for循环进行遍历输出
for(Book temp:book){
System.out.println(temp);
}
}
//将图书信息用Map进行存储
public static void mapStorage(){
System.out.println("采用Map存放图书信息如下:");
//创建Map容器,将商品编号作为Map中的key
Map<Integer,Book> book = new HashMap<>();
book.put(1001, new Book(1001,"百年孤独",58,"人民出版社"));
book.put(1002, new Book(1002,"城市发展史",86,"清华出版社"));
book.put(1003, new Book(1003,"美国大城市的死与生",75,"中国人民大学出版社"));
//将book中的键值返回到keyset集合中
Set<Integer>keyset = book.keySet();
//使用增强for循环进行遍历输出
for(Integer key:keyset){
System.out.println(key+"--------"+book.get(key));
}
}
}
//图书类
class Book{
private int id; //编号
private String name; //名称
private double price;//单价
private String press;//出版社
//构造器
public Book(int id, String name, double price, String press) {
super();
this.id = id;
this.name = name;
this.price = price;
this.press