3 回答

TA貢獻1847條經驗 獲得超11個贊
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String[]> resultList = new ArrayList<String[]>();
List<String[]> list = new ArrayList<String[]>();
String[][] str = { { "阿迪達斯", "運動鞋", "2" }, { "阿迪達斯", "運動服", "3" },
{ "阿迪達斯", "跑鞋", "4" }, { "耐克", "包", "5" },
{ "耐克", "運動褲", "6" }, { "銳步", "包", "1" }, { "銳步", "運動褲", "6" } };
for (int i = 0; i < str.length; i++) {
list.add(str[i]);
}
int count = Integer.parseInt(list.get(0)[2]);
resultList.add(list.get(0));
for (int i = 0; i < list.size() - 1; i++) {
if (list.get(i)[0] == list.get(i + 1)[0]) {
count += Integer.parseInt(list.get(i + 1)[2]);
resultList.add(list.get(i + 1));
} else {
String[] temp = new String[3];
temp[0] = "合計";
temp[1] = "";
temp[2] = String.valueOf(count);
resultList.add(temp);
resultList.add(list.get(i + 1));
count = Integer.parseInt(list.get(i + 1)[2]);
}
}
String[] temp = new String[3];
temp[0] = "合計";
temp[1] = "";
temp[2] = String.valueOf(count);
resultList.add(temp);
}
}
僅供參考

TA貢獻1803條經驗 獲得超3個贊
這個有個高效的方法,就遍歷一遍list就可以了。
配合Map
用一個域模型類 T 來描述你的產品,用一個boolean kinsmanship(T t)來做品牌匹配,然后用域模型的 品牌字段做Map 的key, 一個List做value 因為這個list中需要存儲不同類型的數據,不要使用泛型就可以了,你可以在list的第0個位置存放一個list,這個list里面存放所有的域模型 第一個位置存放統計之后總計值。
思路就差不多了,感覺還是比較清晰的。
遍歷一遍就可以統計出所有了。

TA貢獻1943條經驗 獲得超7個贊
阿迪達斯 運動鞋 2
耐克 運動褲 6
按此格式定義一個class
class Goods
{
String brand;
String category;
int stock;
}
把相應的object按照brand的不同分別放在不同的list里面,
再用不同的brand作為key,將list放到map中
遍歷的時候,可以根據不同的brand取出相應的list,遍歷出list中的goods,同時累計該brand下的每個goods的stock,即為該brand的合計數量
添加回答
舉報