Stream流的简单用法
Stream流的简单用法
Refresh-LV 发表于7个月前
Stream流的简单用法
  • 发表于 7个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

public class FilterCase {
    @Test
    public void streamFilter() {
        List<Dish> list = Arrays.asList(new Dish(true,new BigDecimal(125)),
                                        new Dish(false,new BigDecimal(129)),
                                        new Dish(true,new BigDecimal(128)));
        List<Dish> dishs = list.stream().filter(Dish :: isVegetarian).collect(Collectors.toList());
        System.out.println(dishs);
    }
    @Test
    public void distinctNum() {
        List<Integer> list = Arrays.asList(125, 12, 36, 28, 11, 33);
        list.stream().filter(i -> i%2==0).distinct().forEach(System.out::println);
    }
    
    @Test
    public void selectCalories() {
        List<Dish> list = Arrays.asList(new Dish(true,new BigDecimal(125), 460),
                new Dish(true,new BigDecimal(125), 245),
                new Dish(true,new BigDecimal(125), 496),
                new Dish(true,new BigDecimal(125), 479),
                new Dish(true,new BigDecimal(150), 125),
                new Dish(false,new BigDecimal(129), 399),
                new Dish(true,new BigDecimal(128),156));
List<Dish> dishs = list.stream().filter(d -> d.getCalories()>300).limit(3).collect(Collectors.toList());
        //dishs.sort((Dish d1, Dish d2) -> d1.getCalories()-d2.getCalories());
        System.out.println(dishs);
    }
    
    @Test
    public void dispassCalories() {
        List<Dish> list = Arrays.asList(new Dish(true,new BigDecimal(125), 460),
                new Dish(true,new BigDecimal(125), 245),
                new Dish(true,new BigDecimal(125), 496),
                new Dish(true,new BigDecimal(125), 479),
                new Dish(true,new BigDecimal(150), 125),
                new Dish(false,new BigDecimal(129), 399),
                new Dish(true,new BigDecimal(128),156));
List<Dish> dishs = list.stream().filter(d -> d.getCalories()>300).skip(3).collect(Collectors.toList());
        //dishs.sort((Dish d1, Dish d2) -> d1.getCalories()-d2.getCalories());
        System.out.println(dishs);
    }

}
skip和limit互补。

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 1
博文 22
码字总数 7973
×
Refresh-LV
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: