当前位置: 首页 > 知识库问答 >
问题:

如何使用java stream API过滤至少2科分数大于80的学生?[关闭]

燕和裕
2023-03-14

想改进这个问题吗?更新问题,使其仅通过编辑这篇文章来关注一个问题。

public class Student {

    private int stud_id;
    private String stud_name;
    private List<Integer> marks;
}    
public class Demo{
    public static void main(String[] args) {
        List<Student> ls=new ArrayList<>();
        ls.add(new Student(1,"Prasad",Arrays.asList(20,30,40,60)));
        ls.add(new Student(2,"Pratiksha",Arrays.asList(20,30,80,90)));
        ls.add(new Student(3,"Prasanthi",Arrays.asList(20,30,10,90)));
        //required code
        }
    }

学生班级有id名称和学生名单。我们现在有了学生名单,我们怎么才能筛选出有分数的学生呢

共有1个答案

钱朝明
2023-03-14

您可以使用流过滤器和流计数。

List<Student> result = ls.stream().filter(s->s.getMarks()
           .stream().filter(m->m>=80).count() >= 2).collect(Collectors.toList());
 类似资料:
  • 我有下表 在这里,我有一个“学生”表,我想从学生表中获取所有科目的分数大于等于“80”的学生的姓名,如以下输出。

  • 问题内容: 我有使用Rails3构建的网站,现在我想实现JSON API来访问移动客户端。但是,由于protect_from_forgery过滤器,从客户端发送json发布请求。因为客户端不会从服务器检索任何数据,所以客户端无法接收auth_token,所以我只想对json请求关闭protect_from_forgery选项(我以为rails3默认会这样做,但显然不会) 。 我知道这里讨论了类似的

  • Statistical learning Machine learning is a technique with a growing importance, as the size of the datasets experimental sciences are facing is rapidly growing. Problems it tackles range from building

  • 也就是说,我想要达到的目标可以从以下的角度来看 如何使用管道实现?

  • 本文向大家介绍Angularjs中如何使用filterFilter函数过滤,包括了Angularjs中如何使用filterFilter函数过滤的使用技巧和注意事项,需要的朋友参考一下 AngularJS的filter,中文名“过滤器”是用来过滤变量的值,或者格式化输出,得到自己所期望的结果或格式的东东。AngularJS中有一个filterFilter函数用来对集合过滤,非常方便。 源代码大致如下

  • 此外,删除和添加一个新的规则可以吗?因为我们需要更新过滤器(总是在sql过滤器中添加一个额外的条件),基于可能在任何时间点发生的触发器?