第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

我們可以在 Java 8 中僅根據(jù)月份和年份對數(shù)據(jù)進(jìn)行分組嗎

我們可以在 Java 8 中僅根據(jù)月份和年份對數(shù)據(jù)進(jìn)行分組嗎

米琪卡哇伊 2023-04-26 14:04:01
在此示例中,它根據(jù)整個(gè)日期對數(shù)據(jù)進(jìn)行分組。我們可以僅根據(jù)月份和年份對數(shù)據(jù)進(jìn)行分組嗎package com;        import java.time.LocalDate;import java.time.format.DateTimeFormatter;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Map.Entry;import java.util.stream.Collectors;import com.google.gson.Gson;        public class GroupData {            public static void main(String args[]) throws Exception {                try {                    List<Person> personList = new ArrayList<Person>(); // Date Format is MM/DD/YYYY                    personList.add(new Person("Mike", "London", 35, "01/01/1981"));                    personList.add(new Person("John", "London", 21, "01/02/1981"));                    personList.add(new Person("John", "Bristol",41, "01/06/1981"));                    personList.add(new Person("Steve", "Paris",34, "03/07/2019"));                    Map<LocalDate, List<Person>> personByMap = new HashMap<>();                    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MM/dd/yyyy");                    personByMap = personList.stream()                                .collect(Collectors.groupingBy(p -> LocalDate.parse(p.getDateOfBirth(), dtf)));                    System.out.println(personByMap.size());                    } catch (Exception e) {                        e.printStackTrace();                    }            }        }        class Person {            private String name;            private String city;            private int age;            private String dateOfBirth;            public String getDateOfBirth() {                return dateOfBirth;            }            public void setDateOfBirth(String dateOfBirth) {                this.dateOfBirth = dateOfBirth;            }
查看完整描述

1 回答

?
子衿沉夜

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊

而不是使用LocalDate,使用YearMonth

personByMap = personList.stream()

? ? ? ? ? ? .collect(Collectors.groupingBy(p -> YearMonth.parse(p.getDateOfBirth(), dtf)));

我還建議您直接將出生日期存儲(chǔ)為LocalDate:


class Person {

? ? private String name;

? ? private String city;

? ? private int age;

? ? private LocalDate dateOfBirth;

? ? // ...

}

然后你可以這樣做:


personByMap = personList.stream()

? ? ? ? ? ? .collect(Collectors.groupingBy(p -> YearMonth.from(p.getDateOfBirth())));


查看完整回答
反對 回復(fù) 2023-04-26
  • 1 回答
  • 0 關(guān)注
  • 144 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)