根据使用集合的结果分组和打印学生成绩

时间:2017-03-03 06:59:37

标签: java

我的问题是:我有Student对象的arraylist,其值包括name(String),age(int),MarksScoredInPercentage(double)和result(String)。现在我创建了多个学生对象,其中一些学生成绩为失败,一些是FC(头等),有些是SC(二等)。

现在我必须迭代数组列表并将结果发布为输出,学生根据结果进行分组并显示。

 Output should be like
***** List of First class Student*******
Name 1:
Name 2:
****** List of Second Class Student*****
Name1:
Name 2:
****** List Of Fail Student ******
Name1:
Name 2

1 个答案:

答案 0 :(得分:0)

假设您有以下学生课程:

public class Student {
    private String result;


    /**
     * Getter for property 'result'.
     *
     * @return Value for property 'result'.
     */
    public String getResult() {
        return result;
    }

    /**
     * Setter for property 'result'.
     *
     * @param result Value to set for property 'result'.
     */
    public void setResult(String result) {
        this.result = result;
    }
}

使用流分组:

List<Student> students = new ArrayList<>();
Map<String, Set<Student>> groupedStudents = students.stream().collect(
                Collectors.groupingBy(
                        Student::getResult, Collectors.toSet()
                )
        );

这将为学生提供每个结果。