如何在for循环中找到最小数

  • 本文关键字:小数 循环 for java
  • 更新时间 :
  • 英文 :


我想在rolePriority中找到最小号码。如何在for循环中获得最小值?

UserRole.java

public class UserRole implements Serializable{
    private Integer id;
    private User user;
    private Role role;

RoleAction.java

public class RoleAction implements Serializable{
private Integer id;
  private Role role;
  private Action action;
}
for (UserRole userRole : userRoles) {
            dbRoles.add(userRole.getRole().getRoleName());
            int rolePriority=userRole.getRole().getPriority();

            for (RoleAction ra: userRole.getRole().getRoleActions()) {
                System.out.println("#########"+ra.getAction().getName());
                System.out.println("@@@@@@@@@"+ra.getAction().getId());
                map.put(ra.getAction().getName(), ra.getAction().getId());
            }
        }

如果您想在所有用户角色中找到最小的角色优先级,那么您可以尝试以下操作:

int minPriority = -1;
for (UserRole userRole : userRoles) {
    dbRoles.add(userRole.getRole().getRoleName());
    int rolePriority = userRole.getRole().getPriority();
    if (rolePriority < minPriority || minPriority == -1) {
        minPriority = rolePriority;
    }
    for (RoleAction ra: userRole.getRole().getRoleActions()) {
        System.out.println("#########"+ra.getAction().getName());
        System.out.println("@@@@@@@@@"+ra.getAction().getId());
        map.put(ra.getAction().getName(), ra.getAction().getId());
    }
}

解释:

变量minPriority作为占位符值初始化为-1。在循环的每次迭代期间,将当前优先级(rolePriority)与迄今为止看到的最小值(minPriority)进行比较,并且可能更新这个最小值。同样,在循环的第一次迭代中,minPriority被赋值给rolePrioirity。如果你的优先级可以取-1的值,那么你应该将minPriority初始化为一些从未实际使用过的值。

最新更新