당신은 너무 같은지도 선언하는 경우 : 당신이 말하는 documentation for LinkedHashMap 보면 그런
def m = [:]
을, 당신은 기본적으로 그루비 볼 수는 LinkedHashMap
assert m.getClass().name == 'java.util.LinkedHashMap'
한다 :
해시 테이블 및 링크 된 예측 가능한 반복 순서로 Map 인터페이스의 목록 구현. 이 구현은 HashMap과 달리 모든 항목을 통해 실행되는 이중 연결 목록을 유지 관리합니다. 이 링크 된 목록은 일반적으로 키가 맵에 삽입 된 순서 (삽입 순서) 인 반복 순서를 정의합니다.
그래서 LinkedHashMap
주문을 가지고 있으며, 당신이, 당신은 자바의 정렬 된지도 중 하나를 사용할 수있는 키의 자연 순서를 원하는 경우에 당신은 sort
def m = [ b:1, a:2 ]
// Sort by descending value
m = m.sort { -it.value }
println m // prints [a:2, b:1]
를 호출하여 그루비의 순서에 영향을 미칠 수 TreeMap
당신이 멋져요에서 이것을 사용하고자하는 말, 당신은 할 수 있습니다 :
// def tm = [ tim_yates:1, F21:2 ] as TreeMap // works as well
TreeMap tm = [ tim_yates:1, F21:2 ]
,
그런 다음이 인쇄, 당신은이 키에 의해 정렬됩니다 볼 수 있습니다 : 당신이 키를 추가로
println map // prints [F21:b, tim_yates:a]
가 TreeMap
순서를 유지합니다. LinkedHashMap
은 새 값을 추가 할 때 자동으로 정렬 된 채로 남아 있지 않습니다.