2016-07-31 9 views
0

LinkedHashMap<String, Double> myMappair1, pair2, pair3 쌍을 추가했다고 가정 해 봅시다.LinkedHashMap의 컬렉션 (값)이 게재 신청서를 보존합니까?

그리고 지금은 다음 루프 않습니다 :

for (Double currDouble : myMap.getValues()) {...} 

루프의 첫 번째 Double 객체는 pair1의 하나가 될 것인가? 그리고 pair2의 두 번째? 그렇지 않아도 되나요?

비슷한 프로그램으로 확인한 결과 삽입 순서가 유지되는 것으로 보입니다. 그러나 항상 그렇습니까?

+4

** 키 ** (** 값 ** 제외)의 삽입 순서를 유지합니다. –

답변

2

예!

LinkedHashMap 문서의 첫 번째 문장은 다음과 같습니다. ... 예측 가능한 반복 순서가있는 Map 인터페이스 구현. 일반적으로 키가 삽입 (삽입 순서)되는 순서입니다.

키가 다시 삽입되면 (다른 값이 가능할 수도 있음) 원래 순서가 변경되지 않습니다.

2

기본적으로 LinkedHashMap은 삽입 순서를 유지합니다. 혼동을 야기 할 수있는 액세스 순서로 전환 할 수있는 옵션이 있지만.

그래서 귀하의 질문에, 답변을 첫 번째 Doublepair1에서하고 당신이 순서에 액세스 할 수 LinkedHashMap를 설정하지 않은 사실을 감안할 때 pair2 등에서 두 번째 것입니다.

여전히 문제가 확실하지 않은 경우 LinkedHashMap에 많은 데이터를 추가하여 테스트하고 질문에 설명 된대로 반복 할 수 있습니다. 삽입 순서 (또는 설정된 경우 액세스 순서)가 유지된다는 것을 알 수 있습니다.