2012-05-04 1 views
0

난의 LinkedHashMap lhmNotFinal를 사용하는 한 방법 내가 할 수 있을까? 미리 감사드립니다.LinkedHashMap에서 Previous 키를 가져 옵니까? 그것은이</p> <pre><code>for (String key:lhmNotFinal.keySet()) { System.out.println(key); } </code></pre> <p>지금 난 내 키의 이전 값을 얻으려면 사용하여 내의 LinkedHashMap의 가치를 map.i 키를 입력하는 순서가 중요하기 때문에

+1

작업을 수락 쥐에서. 귀하의 질문에 대한 답을 옳은 것으로 표시하고, 누군가 당신을 도왔을 때 투표하십시오. –

+0

@ThomasUhrig 예, 절대적으로 말하지 않아도됩니다. –

답변

2

일반적으로 LinkedHashMap과 관련된 문제는 아닙니다. 코딩 문제입니다. 당신은 몇 가지를 위해 할 수있는 :

String tmp= null; 

for (String key : lhmNotFinal.keySet()) { 

    tmp = key ; // after the first iteration you have your last key in tmp 
} 
+1

'Set'에는'get' 메소드가 없습니다. –

+0

죄송합니다. 나는 그것을 놓쳤습니다. 그럼 나에게서 단 하나의 해결책이다;) –

2

를 그냥 재미를 위해 :

// 
Map<String, String> map = new LinkedHashMap<String, String>(); 
map.put("key1", "value1"); 
map.put("key2", "value2"); 

// 
final ListIterator<String> keyListIterator = new ArrayList<String>(map.keySet()).listIterator(); 
assertEquals("key1", keyListIterator.next()); 
assertEquals("key2", keyListIterator.next()); 
assertEquals("key2", keyListIterator.previous()); 
assertEquals("key1", keyListIterator.previous()); 
assertEquals("key1", keyListIterator.next()); 
assertEquals("key2", keyListIterator.next());