Java Map集合使用方法介绍(2)——商品信息管理

时间:2021-05-07 17:52:48
Java
public class Goods {
private String id;//商品编号
private String name;//商品名称
private double price;//商品价格

//构造方法
public Goods(String id,String name,double price){
this.id = id;
this.name = name;
this.price = price;
}

//getter和setter方法
public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public double getPrice() {
return price;
}

public void setPrice(double price) {
this.price = price;
}
public String toString(){
return "商品编号:"+id+",商品名称:"+name+",商品价格"+price;
}

}
Java
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
public class GoodsTest {

public static void main(String[] args) {
Scanner console = new Scanner(System.in);
// 定义HashMap对象
Map<String, Goods> goodsMap = new HashMap<String, Goods>();
System.out.println("请输入三条商品信息");
int i = 0;
while (i < 3) {
System.out.println("请输入第" + (i + 1) + "条商品信息");
System.out.println("请输入商品编号");
String goodsId = console.next();
// 判断商品编号id是否存在
if (goodsMap.containsKey(goodsId)) {
System.out.println("该商品编号已经存在!请重新输入!");
continue;
}
System.out.println("请输入商品名称");
String goodsName = console.next();
System.out.println("请输入商品价格");
double goodsPrice = 0;
try {
goodsPrice = console.nextDouble();
} catch (java.util.InputMismatchException e) {
System.out.println("商品价格的格式不正确,请输入数值型数据!");
console.next();
continue;

}

Goods goods = new Goods(goodsId, goodsName, goodsPrice);
// 将商品信息添加到HashMap中
goodsMap.put(goodsName, goods);
i++;
}
// 遍历Map,输出商品信息
System.out.println("商品的全部信息为:");
Iterator<Goods> itGoods = goodsMap.values().iterator();
while (itGoods.hasNext()) {
System.out.println(itGoods.next());
}

}

}