测试类:
package com.pap.test;
public class Item_Price {
private String code;
private double price;
private double total_price;
public Item_Price(String code, double price) {
super();
this.code = code;
this.price = price;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public double getTotal_price() {
return total_price;
}
public void setTotal_price(double total_price) {
this.total_price = total_price;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((code == null) ? 0 : code.hashCode());
long temp;
temp = Double.doubleToLongBits(price);
result = prime * result + (int) (temp ^ (temp >>> 32));
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Item_Price other = (Item_Price) obj;
if (code == null) {
if (other.code != null)
return false;
} else if (!code.equals(other.code))
return false;
if (Double.doubleToLongBits(price) != Double
.doubleToLongBits(other.price))
return false;
return true;
}
}
测试方法:
package com.pap.test;
import java.util.ArrayList;
import java.util.List;
public class TestStack {
public static void main(String[] args) {
List<Item_Price> items = new ArrayList<Item_Price>();
Item_Price item_Price1 = new Item_Price("中药", 15);
items.add(item_Price1);
Item_Price item_Price2 = new Item_Price("西药", 20);
items.add(item_Price2);
Item_Price item_Price3 = new Item_Price("中药", 15);
items.add(item_Price3);
Item_Price item_Price4 = new Item_Price("手术", 27);
items.add(item_Price4);
Item_Price item_Price5 = new Item_Price("检查", 26);
items.add(item_Price5);
Item_Price item_Price6 = new Item_Price("西药", 20);
items.add(item_Price6);
List<Item_Price> list = new ArrayList<Item_Price>();
//遍历
for(Item_Price item : items){
if(!list.contains(item)){
item.setTotal_price(item.getPrice());
list.add(item);
}else {
int index = list.indexOf(item);
Item_Price item2 = list.get(index);
item2.setTotal_price(item2.getTotal_price() + item.getPrice());
}
}
//打印显示
for(Item_Price item_Price : list){
System.out.println(item_Price.getCode() + "费================" + item_Price.getTotal_price());
}
}
}
运行结果:
中药费================30.0
西药费================40.0
手术费================27.0
检查费================26.0