有一個list<String>如下:
2020-10-28
2020-10-29
2020-10-30
2020-11-02
2020-11-03
2020-11-04
2020-11-05
2020-11-06
2020-11-09
2020-11-10
2020-11-11
2020-11-12
2020-11-13
2020-11-16
2020-11-17
2020-11-18
2020-11-19
2020-11-20
2020-11-23
2020-11-24
2020-11-25
2020-11-26
2020-11-27
2020-11-30
2020-12-01
2020-12-02
用演算法找出每個月的最大值,回傳一個新的list<String>
2020-10-30
2020-11-30
2020-12-02
uj5u.com熱心網友回復:
for examplepublic class Sample {
public static void main(String[] args) {
List<String> list = new ArrayList<>(Arrays.asList(new String[] {
"2020-10-01","2020-10-30","2020-11-01","2020-11-30", "2020-12-01","2020-12-02"
}));
List<String> result = list.stream().collect(Collectors.groupingBy(e->e.substring(0,7))).entrySet().stream().map(e->{
return e.getValue().stream().max((s1, s2)->s1.compareTo(s2)).get();
}).collect(Collectors.toList());
System.out.println(result);
}
}
uj5u.com熱心網友回復:
如果資料不超過10萬,就放到資料庫去解決。uj5u.com熱心網友回復:
怎么過濾掉周6周日的資料,如
List<String> list = new ArrayList<>(Arrays.asList(new String[] { "2020-10-01", "2020-10-30", "2020-10-31",
"2020-11-01", "2020-11-30", "2020-12-01", "2020-12-02" }));
正常輸出:[2020-12-02, 2020-11-30, 2020-10-31]
但過濾掉周6周日的資料后應該輸出[2020-12-02, 2020-11-30, 2020-10-30]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/218702.html
標籤:Java EE
上一篇:成功拿下阿里P6的offer后,總結出大廠面試的血淚史
下一篇:java為什么我一運行程式就出現Launch configuration Tomcat.1 references closed project game
