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的合计数量
添加回答
举报