Java Arraylist两个不同的列

时间:2014-06-30 01:50:15

标签: java arrays arraylist items

我有一个包含项目名称和成本的数组列表,但是,我想将两者分开,尤其是我可以将成本的值相加。

到目前为止,我所拥有的是:

import java.util.ArrayList;

public class henrys {

    public static ArrayList<String> products = new ArrayList<String>();

    public static void main(String[] args) {
        products.add("Calvin Klein Blue Shorts, Size: Medium, $45");
        products.add("Ralph Lauren Blue Shirt, Size: Large, $50");
        products.add("Gap Beige Khakis, Size: 30, $20");
        products.add("Calvin Klein Black Shirt, Size: Medium, $35");
        products.add("USA Jersey White, Size: Medium, $100");
        System.out.println((products)); 
    }
}

1 个答案:

答案 0 :(得分:3)

像这样创建一个ArrayList确实没有意义,完全违背了以对象为中心的语言。

创建一个Product类,为其指定namepricesize字段,然后创建Product对象的ArrayList。

要获取价格总和,您可以迭代Product中的每个ArrayList并添加其价格:

旁注:将货币价值存储为双倍是一个可怕的想法。我这样做只是为了告诉你如何开始。

最终编辑

您需要使用以下代码创建名为Product的类:

public class Product {

    public String name, size;
    public double price;

    public Product(String name, String size, double price){
        this.name = name;
        this.size = size;
        this.price = price;
    }

}

Main班级中:

public static void main(String[] args){
    ArrayList<Product> products = new ArrayList<Product>();
    products.add(new Product("Shorts", "Small", 5.45);
    products.add(new Product("Shirt", "Large", 15.15);
    products.add(new Product("Hat", "Small", 10.25);

    //Calculate total price.
    double price = 0.00;
    for(Product p : products){
        price += p.price;
    }
    System.out.println("Total cost: " + price);

}