L'utilisation complexe de list.stream en Java8

scène 1:

         1.1: Demande   

                 Le frontal doit renvoyer un tableau json, qui est regroupé par région, et il existe différents sites pittoresques dans chaque région

                 Les zones et les sites pittoresques peuvent être répétés, ils doivent donc être supprimés; chaque lieu pittoresque est utilisé et séparé.

         1.2: Données sources

                  Les données source sont un objet, comme suit:

                  

        1.3: Résoudre

   //根据景区获取位置信息
    public JSONArray groupScenicByArea(List<Item.Scenic> list) {
        HashMap<String, List<String>> resultMap = list.stream().collect(
                Collectors.groupingBy(
                        scenic -> scenic.getScenicCity(),
                        HashMap::new,
                        Collectors.mapping(
                                (scenic -> scenic.getScenicName().trim()),
                                toList()
                        )
                )
        );

        JSONArray scenicArray = new JSONArray();
        resultMap.forEach((key, value) -> {
            String val = value.stream().distinct().collect(Collectors.joining("、"));
            JSONObject scenicObject = new JSONObject();
            scenicObject.put(key,val);
            scenicArray.add(scenicObject);
        });
        return scenicArray;
    }

       1.4: Affichage des résultats

 

                

Je suppose que tu aimes

Origine blog.csdn.net/qq_20594019/article/details/112679574
conseillé
Classement