簡體   English   中英

在 Java Spring Boot 中將列表轉換為分組列表

[英]Convert List to grouped list in Java Spring Boot

我想使用屬性轉換以下列表以對相似組進行分組,並使用 Java Spring Boot 將子組值連接為以下預期輸出。 這是我的代碼。

    for (JuniorAreaSubgroup value : lstJuniorAreaSubgroup) {
        juniorAreaSubgroupMap.setJuniorArea(value.getJuniorArea());
        lstSubgroup.add(lstJuniorAreaSubgroup.stream().filter(value.getJuniorArea()) -> 
                String.join(",", value.getSubgroup()));
        juniorAreaSubgroupMap.setSubgroup(lstSubgroup);
        lstSubgroup.clear();
    }

——

[
{
    "group": "Tins",
    "subgroup": "G13AA"
},
{
    "group": "Tins",
    "subgroup": "G13AD"
},
{
    "group": "Cans",
    "subgroup": "G13DA"
},
{
    "group": "Cans",
    "subgroup": "G13DB"
},
{
    "group": "Cans",
    "subgroup": "G13DD"
}
]

預期輸出:

[
{
    "group": "Tins",
    "subgroup": [“G13AA”, "G13AD”]
},
{
    "group": "Cans",
    "subgroup": [“G13DA”, "G13DB”, "G13DD”]
} 
]

任何幫助表示贊賞。

您的數據看起來像 JSON。 此示例將使用適當的 Java 對象設置數據:

public class Grouping {

    public class Person {
        String group;
        String subgroup;

        Person(String group, String subgroup){
            this.group = group;
            this.subgroup=subgroup;
        }
    }

    @Test
    public void test() {
        List<Person> list = new ArrayList<>();

        list.add(new Person("Tins", "G13AA"));
        list.add(new Person("Tins", "G13AD"));
        list.add(new Person("Cans", "G13DA"));
        list.add(new Person("Cans", "G13DB"));
        list.add(new Person("Cans", "G13DD"));

        Map<String, List<String>> result = list.stream()
              .collect(Collectors.groupingBy(p->p.group, Collectors.mapping(p->p.subgroup, Collectors.toList())));

        System.out.println(result);
    }

}

將導致:

{Cans=[G13DA, G13DB, G13DD], Tins=[G13AA, G13AD]}

轉換 ArrayList 列表的最佳方法是什么<object>到自定義 object java11 Spring 引導 2.1<div id="text_translate"><p> 我有 ArrayList 對象列表,其中對象可以是文本、BigDecimal、Long</p><pre> List&lt;Object&gt; data = { {"date","prize1","cardsNumers","cardObtained","totalCards","anotherPrize"}, {"2020-05-01",435345.67,43,56,67,345345345}, {"2020-03-01",45656.2,34,67,23,456456}, {"2020-02-01",56565,34,56,67,878987} }</pre><p> arrayList 中的第 1、2、3 等對象是第 0 個 arraylist 中提到的每個字段的值。 在如下表中,</p><p> <a href="https://i.stack.imgur.com/Tmdw2.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Tmdw2.png" alt="在此處輸入圖像描述"></a></p><p> 我想從上面獲取每個文件的總和並分配給下面自定義 Object 的同一字段,</p><pre> public class SumObject { private Date date; private BigDecimal sumPrize1; private BigDecimal sumCardsNumers; private long sumCardObtained; private long sumTotalCards; private long sumAnotherPrize; }</pre><p> 我通過遍歷 List 中的 arrayList 來實現這一點,並通過 get(index) 方法獲取值。 但我想知道是否有任何其他好的方法可以做到這一點。</p><p> 如果有人有任何建議,請發布答案或給我一個我可以閱讀的文件的方向。</p><p> 提前致謝。</p></div></object>

[英]what would be best way to convert List of ArrayList<Object> to a custom object java11 Spring boot 2.1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 轉換列表<map<string, string> &gt; 到 Object 中 Java Spring 啟動 ZF0B4A299C45171493AE3215D69D </map<string,> 將對象列表轉換為 java 中的 JSON 數組 - Spring 啟動 Z8A5DA52ED126421D8AAZA 測試 Java Spring Boot: Swagger GET請求中的列表 JSP 不會在 Spring Boot 2 中呈現 java 列表 如何按 Java Spring Boot 中的字段對列表進行排序? 如何獲得 java spring 引導中未列出的結果 循環列表數據在 Java Spring Boot with Primefaces 轉換 ArrayList 列表的最佳方法是什么<object>到自定義 object java11 Spring 引導 2.1<div id="text_translate"><p> 我有 ArrayList 對象列表,其中對象可以是文本、BigDecimal、Long</p><pre> List&lt;Object&gt; data = { {"date","prize1","cardsNumers","cardObtained","totalCards","anotherPrize"}, {"2020-05-01",435345.67,43,56,67,345345345}, {"2020-03-01",45656.2,34,67,23,456456}, {"2020-02-01",56565,34,56,67,878987} }</pre><p> arrayList 中的第 1、2、3 等對象是第 0 個 arraylist 中提到的每個字段的值。 在如下表中,</p><p> <a href="https://i.stack.imgur.com/Tmdw2.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Tmdw2.png" alt="在此處輸入圖像描述"></a></p><p> 我想從上面獲取每個文件的總和並分配給下面自定義 Object 的同一字段,</p><pre> public class SumObject { private Date date; private BigDecimal sumPrize1; private BigDecimal sumCardsNumers; private long sumCardObtained; private long sumTotalCards; private long sumAnotherPrize; }</pre><p> 我通過遍歷 List 中的 arrayList 來實現這一點,並通過 get(index) 方法獲取值。 但我想知道是否有任何其他好的方法可以做到這一點。</p><p> 如果有人有任何建議,請發布答案或給我一個我可以閱讀的文件的方向。</p><p> 提前致謝。</p></div></object> 將雙精度列表轉換為分組字符串 將線對列表轉換為分組對列表
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM