こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ArrayListを使った多次元配列の比較方法

JAVAでArrayListを使った多次元配列の要素を比較方法で困っています。

下記のコードで、アイテム、数量、金額をランダムに10個配列に追加しています。

private ArrayList<Item> list;

public ArrayList<Item> getItems1() {
return list;
}

public void setItems(ArrayList<Item> items) {
getItems();
}

public Inventory() {
list = new ArrayList<Item>();
}

public void getItems(){
for(int i =0; i<10; i++){
int theItemType = (int)(Math.random()*6+1);
int theQut = (int)(Math.random()*20+1);
int thePrice = (int)(Math.random()*40+101)/20;

list.add(new Item(theItemType, theQut, thePrice));

}
}

public String getItemName() {

if(itemType == 1){
return "シャツ";
}
if(itemType == 2){
return "スカート";
}
if(itemType == 3){
return "ズボン";
}
if(itemType == 4){
return "ネクタイ";
}
if(itemType == 5){
return "靴";
}
if(itemType == 6){
return "靴下";
}
return null;
}

public String toString() {

return getItemName() + " , " + getQut() + " " + getPrice();
}

同じアイテム、金額の場合は、数量を合計して表示させたいです。例えば、配列の要素が下記のような場合、1つ目と2つ目の要素は同じアイテム、金額になるので、数量を20として表示させたいのですが、どのように比較していいのかわかりません。どなたか教えてください。よろしくお願いします。

靴下 , 4, 5
靴下 , 16, 5
ネクタイ , 3, 5
ネクタイ , 16, 6
ネクタイ , 2, 6
ズボン , 16, 6
ズボン , 15, 6
スカート , 3, 6
靴 , 17, 7
シャツ , 17, 7

投稿日時 - 2011-03-25 20:44:35

QNo.6620416

すぐに回答ほしいです

質問者が選んだベストアンサー

こんな感じではどうでしょうか。
http://ideone.com/EZDRr

投稿日時 - 2011-03-28 11:37:03

お礼

yamada_gさん、ご回答ありがとうございました。
お陰さまで問題が解決しました。
TreeMapを使用したことがありませんでしたので、TreeMapについてもう少し勉強しようと思います。大変参考になりました。

投稿日時 - 2011-03-28 12:15:08

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問