>Java >java지도 시간 >값을 기준으로 Java HashMap을 정렬하려면 어떻게 해야 합니까?

값을 기준으로 Java HashMap을 정렬하려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-12-07 13:36:18317검색

How Can I Sort a Java HashMap by Its Values?

Java에서 HashMap 정렬: 값 기반 기술

Java에서 HashMap은 키-값 쌍을 저장하는 데 유용한 컬렉션이지만 특정 정렬 순서를 유지하지 마십시오. 값을 기준으로 HashMap을 정렬하려면 추가 기술을 사용해야 합니다.

값 기반 정렬 접근 방식

한 가지 접근 방식은 HashMap을 다음 목록으로 변환하는 것입니다. value() 메소드를 사용하여 값을 생성합니다. 그런 다음 원하는 정렬 논리를 정의하는 비교기를 사용하여 목록을 정렬할 수 있습니다.

Map<String, Person> people = new HashMap<>();
Person jim = new Person("Jim", 25);
Person scott = new Person("Scott", 28);
Person anna = new Person("Anna", 23);

people.put(jim.getName(), jim);
people.put(scott.getName(), scott);
people.put(anna.getName(), anna);

List<Person> peopleByAge = new ArrayList<>(people.values());
Collections.sort(peopleByAge, Comparator.comparing(Person::getAge));

목록을 정렬한 후 정렬된 요소에 액세스할 수 있습니다.

자주 액세스하는 데 적합한 또 다른 접근 방식입니다. , 정렬된 세트에 대한 HashMap 매핑을 생성하는 것입니다. 예를 들어 HashMap>

TreeMap 고려 사항

키별 정렬을 선호한다면 대신 TreeMap 사용을 고려해 볼 가치가 있습니다. TreeMaps는 키를 기준으로 자연스러운 정렬 순서를 자동으로 유지합니다.

위 내용은 값을 기준으로 Java HashMap을 정렬하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.