小编jjo*_*ahu的帖子

java 8流收集最大对象并按属性区分

一些列表在这里

List<Book> list = new ArrayList<>();
{
   list.add(new Book("Core Java", 200));
   list.add(new Book("Core Java", 500));
   list.add(new Book("Core Java", 800));
   list.add(new Book("Learning Freemarker", 150));          
   list.add(new Book("Learning Freemarker", 1350));   
   list.add(new Book("Learning Freemarker", 1250));   
   list.add(new Book("Spring MVC", 300));
   list.add(new Book("Spring MVC", 600)); 
   list.add(new Book("Spring MVC", 1600));
}
Run Code Online (Sandbox Code Playgroud)

我想显示这样的书单

Core Java", 800
Learning Freemarker", 1350
Spring MVC", 1600
Run Code Online (Sandbox Code Playgroud)

每1个元素

list .stream().distinct()
     .sorted(Comparator.comparing(Book::bookname)
     .thenComparing(Book::getPrice)).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

此代码仅排序。

java foreach java-8 java-stream

3
推荐指数
1
解决办法
142
查看次数

标签 统计

foreach ×1

java ×1

java-8 ×1

java-stream ×1