定义商品类:
package java_set;
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;
}
@Override
public String toString(){
return "商品编号:" + id + ", 商品名称:" + name + ", 商品价格:" + price;
}
}
定义测试类,在测试类中定义HashMap对象,向字典中添加商品信息并输出:
package java_set;
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();
System.out.println("请输入商品名称:");
String goodsName = console.next();
System.out.println("请输入商品价格:");
double goodsPrice = console.nextDouble();
Goods goods = new Goods(goodsId, goodsName, goodsPrice);
//将商品信息添加到HashMap中
goodsMap.put(goodsId, goods);
i ++;
}
//遍历Map, 输出商品信息
System.out.println("商品的全部信息为:");
Iterator<Goods> itGoods = goodsMap.values().iterator();
while(itGoods.hasNext()){
System.out.println(itGoods.next());
}
}
}
输出:
请输入三条商品信息:
请输入第1条信息:
请输入商品编号:
s001
请输入商品名称:
手机
请输入商品价格:
5000
请输入第2条信息:
请输入商品编号:
s002
请输入商品名称:
冰箱
请输入商品价格:
3000
请输入第3条信息:
请输入商品编号:
s003
请输入商品名称:
空调
请输入商品价格:
3000
商品的全部信息为:
商品编号:s003, 商品名称:空调, 商品价格:3000.0
商品编号:s002, 商品名称:冰箱, 商品价格:3000.0
商品编号:s001, 商品名称:手机, 商品价格:5000.0
由于HashMap中的Entry对象是无序排列的,所以输出信息与添加顺序不同。