最大值列表中的子列表

时间:2015-08-24 21:02:09

标签: java collections

示例类

var q = (from a in context.Accounts
    join c in context.Contracts
    on a.Id equals c.AccountId
    where c.Id == id
    select a).Select(DefaultColumns);

现在我需要找到每个subjectCode中得分最多的学生。如果有人知道一个例子,我可以传递主题代码并获得主题的顶部,那将是很棒的。

找到要对多个属性http://www.codejava.net/java-core/collections/sorting-a-list-by-multiple-attributes-example进行排序的帖子 但是当我传入主题代码时我需要找到最大值

1 个答案:

答案 0 :(得分:3)

假设您使用的是Java - 我建议使用Java。

Streams& amp; LAMBDA。

long subjectCode = 10;
Collection<Marks> collection = getDataListFromSomewhere();
Optional<Marks> o = 
      collection.stream()
      .filter(item -> item.getSubjectCode() == subjectCode) //This filters the list to the class you are interested in
      .max(Comparator.comparing(item -> item.getMark())); //This looks for the max.

if(o.isPresent()){
    System.out.println(o.get().getName());
}