2016-11-05 9 views
0

rolePriority에서 분 번호를 찾고 싶습니다. for 루프에서 min number를 얻으려면 어떻게해야합니까?for 루프에서 최소 수를 찾는 방법은 무엇입니까?

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()); 

      } 

     } 
+0

'UserRole','RoleAction' 및 형식 코드 –

+2

* "어떻게 for 루프에서 min number를 얻을 수 있습니까?" 어떻게 생각하니? 힌트 : 변수와 ​​연산자를 포함합니다. –

답변

1

어떤 사용자 역할 중 최소 역할의 우선 순위를 찾으려면, 다음 UserRole.java

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

RoleAction.java 너는해볼 수있어. 즉 다음

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)과 비교되고이 최소값이 업데이트 될 수 있습니다. 또한 루프의 첫 번째 반복 중에 minPriorityrolePrioirity에 할당됩니다. 우선 순위가 -1 값을 가질 수 있다면 minPriority을 실제로 사용되지 않는 값으로 초기화해야합니다.

+0

나는 for 루프 또는 out for 루프를 유지할 수있는 세션에서 최소값을 유지하려고합니다. 내가 루프 밖에서 계속한다면 나는 -1을 얻을 것이다. for 루프를 유지하면 모든 값이 세션으로 설정됩니다. – mike

+0

그러면 세션 맵을 가져 와서 값을 저장하십시오. 그건 그렇고, 세션에 관한이 질문은 원래의 질문과 아무 관련이없는 것처럼 보입니다. –

관련 문제