2013-05-01 5 views
0
에 입력 키로부터 특정 하한 값 돌아와

I는 키와 문자 배열의 값을 사용하는의 LinkedHashMap 그 값으로 문자 배열의 크기의 정수 1을 추가 한 char 배열의 값의 예는 다음과 같습니다의 LinkedHashMap

'0', '1', '5', '3', '6', '6', '4', '4', '5', '5', '6', '0', '3', '3', '5' 

내가 예를 들어, 다시 higest 키를 반환 인의 LinkedHashMap의 get 메소드를 사용하는 경우 :

int test = hmConvert.get(5); 
System.out.println(test); 

출력은 다음과 같습니다. 14

GIVEN 입력 값 다음에 LOWEST 값을 출력해야합니다. 따라서 입력 값으로 4를 입력하면 반환 값은 8이됩니다.

어떻게하면됩니까?

답변

2

우선, int test = hmConvert.get('5');을 의미한다고 가정합니다. 귀하의 예에서는 null이 아니기 때문에 14이 아닙니다.

값을 거꾸로 입력하여이 목표를 달성 할 수 있습니다 (따라서 첫 번째 키는 겹쳐 쓰지 않습니다). 즉, 다음과 같이하십시오.

for (int m = referenceString.length - 1; m >= 0; m--) { 
    hmConvert.put(referenceString[m], m); 
} 
+0

예, '5'를 의미합니다. 또한 이것은 훌륭하게 작동하지만 마지막으로 내가 알아 내지 못했던 하나의 요구 사항입니다. 이제는 가장 낮은 키를 찾고 있지만 특정 인덱스 뒤에 가장 낮은 키를 찾는 방법은 무엇입니까? –

+0

'm> = 0'을'm => specificIndex'로 변경하십시오. – durron597