2014-06-13 2 views
0

지도를 사용 중입니다. 주문 개체를 유지하기 위해지도가 필요하지만지도의 목적에 따라 정렬됩니다. 어떻게 그걸 멈추게 할거야, 아니면 다른 컬렉션이 있니? 두 개의 ArrayList를 사용하여 주위에있어하지만 한 컬렉션으로 그것을하고 싶습니다.지도가 자동으로 정렬됩니다.

import java.util.HashMap; 
import java.util.Map; 

public class Test { 
    public static void main(String[] args) { 
     Map<String, String> map = new HashMap<>(); 
     map.put("b", "Item One"); 
     map.put("a", "Item Two"); 
     map.put("c", "Item Three"); 
     System.out.println(map); 
    } 
} 
+0

이 이전 질문보기 http://stackoverflow.com/questions/683518/java-class-that-implements-map-and-keeps-insertion-order – DHall

+4

[LinkedHashMap] (http://docs.oracle.com)을 사용하십시오. .com/javase/7/docs/api/java/util/LinkedHashMap.html)를 사용하여 삽입 순서를 유지합니다. –

+0

그들은 그들 자신을 분류하지 않습니다. 이것은지도 및 집합의 기초가되는 해시 함수의 속성입니다. 삽입 순서를 유지하려면 ['LinkedHashMap'] (http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMap.html)을보십시오. –

답변

1

해시 맵이므로 요소가 해시 값에 따라 "정렬"됩니다. 사용할 수 있습니다 LinkedHashMap

0

지도를 키로 색인 된 배열로 생각하십시오. 지정한 키에 값을 배치하는 것이 "정렬"하는 것이 아닙니다.

주문을 추적하려면 각 데이터 세트를 추가 할 튜플 목록 (또는 두 필드를 저장할 다른 개체)을 만드는 것이 좋습니다.

관련 문제