0
다음 코드는 상위 2 최대 값에 대해 동일한 인덱스를 반환 2 개 최대 값의 인덱스를 얻기 :자바 : HashMap의
HashMap<Integer, Integer> S_List = new HashMap<Integer, Integer>();
S_List.put(3, 18);
S_List.put(9, 20);
S_List.put(11,20);
S_List.put(13,20);
S_List.put(15,20);
S_List.put(17,20);
S_List.put(19,20);
Map.Entry<Integer, Integer> maxEntry5 = null;
Map.Entry<Integer, Integer> maxEntry6 = null;
for (Map.Entry<Integer, Integer> entry : S_List.entrySet())
{
if (maxEntry5 == null || entry.getValue() > maxEntry5.getValue())
{
maxEntry5 = entry;
}
if (maxEntry6 == null || entry.getValue() > maxEntry6.getValue()
&& entry.getKey() != maxEntry5.getKey()) {
maxEntry6 = entry;
}
}
가 달라야 반면 출력은 Entry5 및 Entry6 모두 = 20 17 색인. 모든 값이 같음을 사용하여 비교한다 (20)
, || 이상 && 우선 순위가 있음을 명심 entry.getValue()> maxEntry6.getValue() && entry.getKey 그래서()! = maxEntry5.getKey()가 함께 평가되고 결과는 maxEntry6 == null과 OR 연산됩니다. –