首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从对象集合中查找最大数量

从对象集合中查找最大数量
EN

Stack Overflow用户
提问于 2019-10-17 23:42:04
回答 2查看 38关注 0票数 0

我有集合对象,id,level和role作为属性,我想从集合中找到最大的级别

例如,从下面的Assignment表中,最大级别是13。如何从SET中找到最高级别

分配表:

代码语言:javascript
复制
Id      Level   role
259256  1       SYSTM_ADMN  
259257  9       APPRVR_LVL_4
259258  8       APPRVR_LVL_3
259259  10      APPRVR_LVL_5
259260  6       APPRVR_LVL_1
259261  13      INTRNL_RD_ONLY
259268  8       SYSTM_ADMN  
259269  10      SYSTM_ADMN  
259270  9       SYSTM_ADMN  

以下代码是使用Java8编写的。但是我想在Java6中运行代码。

代码语言:javascript
复制
Assignment assignment =  Collections.max(assignmentset, Comparator.comparing(s -> s.getLevel()));
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-17 23:49:39

您可以像这样做,只需使用一个循环:

代码语言:javascript
复制
public Assignment getMaxAssignmentFromCollection(Collection collection) {
    int max = Integer.MIN_VALUE;
    Assignment maxAssignment = null;
    for(Assignment element: collection) {
        if(element.getLevel() > max) {
            max = element.getLevel();
            maxAssignment = element;
        }
    }
    return maxAssignment;
}

然后使用它:

Assignment maxAssignment = getMaxAssignmentFromCollection(assignmentSet);

票数 1
EN

Stack Overflow用户

发布于 2019-10-17 23:46:42

流运算符在Java 6中不起作用。它们出现在Java 8中。因此,您只需为每个元素循环获取最大值。这是唯一能让它工作的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58436304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档