私は私のarraylistに問題があります。ArrayList反復錯誤
私は靴を持っています。これらの靴にはカテゴリと価格があります:それはスマートシューズ、カジュアルシューズなどですが、カテゴリごとのシューズの総量を取得したいと考えています。
例えば、私のarraylistにはそれぞれ価格が付いているスマートシューズが10個、カジュアルシューズが15個ありますが、そのカテゴリのみとそのカテゴリの合計数を求めます。
カテゴリとそのカテゴリに含まれる靴の総量と価格、靴、カテゴリを持つ領収書リストを格納するカテゴリと呼ばれるarraylistがあります。
float total = 0;
for(int i = 0; i < receipts.size(); i++){
for(int j = 0; j< receipts.size(); j++)
if (TextUtils.equals(receipts.get(i).getCategory(), receipts.get(j).getCategory()))
total += Float.parseFloat(receipts.get(j).getPrice());
categories.add(new Category(receipts.get(i).getCategory(),String.valueOf(total)));
total = 0;
}
このコードの問題は、1つのカテゴリの複数の値を取得する傾向があることです。
いいえ、その何かをstackoverflowで、私はそれに取り組ませてください。 – Chrometobia
カテゴリが既に追加されているかどうかを確認する必要があります。現在のコードでは、 '' 'Casual'、 'Casual' ''を含むリストを反復すると、2つのカジュアルなカテゴリが得られます。それぞれが2の合計値を持ちます。 – hoefling
' Map'を使って、あなたは各カテゴリの1つだけを保持しますか? – Jason