亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在項目中遇到一個問題需要對 list中不同品牌的數據進行統計 ,該怎么實現?

在項目中遇到一個問題需要對 list中不同品牌的數據進行統計 ,該怎么實現?

MMTTMM 2023-04-21 17:13:44
list 結果集如下:      阿迪達斯    運動鞋     2      阿迪達斯    運動服     3      阿迪達斯    跑鞋       4      耐克        包         5      耐克        運動褲     6 我想要的list中的結果集      阿迪達斯    運動鞋      2          阿迪達斯    運動服      3      阿迪達斯    跑鞋        4      合計                    9      耐克        包          5      耐克        運動褲      6      合計                   11 該怎么從list中處理?????
查看完整描述

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);  

    }  

}  

僅供參考

查看完整回答
反對 回復 2023-04-23
?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

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

遍歷一遍就可以統計出所有了。

查看完整回答
反對 回復 2023-04-23
?
楊__羊羊

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的合計數量

查看完整回答
反對 回復 2023-04-23
  • 3 回答
  • 0 關注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號