자바 에서 맵 은 키 (key) 나 값 (value) 에 따라 정렬 하여 이 루어 집 니 다.

2532 단어 Java
자바 의 맵 구 조 는 키 - > value 키 값 이 저 장 된 것 으로 알려 져 있 으 며, 맵 의 특성 에 따라 같은 맵 에는 두 개의 키 가 같은 요소 가 존재 하지 않 으 며, value 는 이 제한 이 존재 하지 않 습 니 다.다시 말 하면 같은 맵 에서 Key 는 유일한 것 이지 value 는 유일한 것 이 아니다.Map 은 하나의 인터페이스 입 니 다. 우 리 는 Map 유형의 대상 을 직접 설명 할 수 없습니다. 실제 개발 에서 비교적 자주 사용 하 는 Map 성 데이터 구 조 는 HashMap 과 TreeMap 입 니 다. 그들 은 모두 Map 의 직접 하위 클래스 입 니 다.액세스 효율 성 을 고려 하면 HashMap 데이터 구 조 를 사용 하 는 것 이 좋 고, Key 순 서 를 고려 해 야 할 경우 TreeMap 을 사용 하 는 것 이 좋 지만 TreeMap 은 삭 제 · 추가 과정 에서 정렬 이 필요 해 성능 이 떨 어 지 는 편 이다.

  • Key 로 정렬 하면 TreeMap 대상 을 설명 할 수 있 습 니 다.Map map = new   TreeMap();
    그리고 맵 에 요 소 를 추가 하면 출력 결 과 를 통 해 맵 안의 요소 가 모두 정렬 되 어 있 음 을 발견 할 수 있 습 니 다.// for   (Iterator it = map.keySet().iterator(); it.hasNext();) {      Person person = map.get(it.next());      System.out.println(person.getId_card() + " "   + person.getName()); }
    우 리 는 HashMap 대상 을 설명 한 다음 에 HashMap 대상 을 TreeMap 에 할당 할 수 있 습 니 다. 다음 과 같 습 니 다.Map map = new   HashMap(); TreeMap treemap = new   TreeMap(map);

  • Value 로 정렬 하여 HashMap 대상 을 먼저 설명 합 니 다.Map map = new   HashMap();
    그 다음 에 우 리 는 맵 집합 을 List 집합 으로 바 꿀 수 있 고 List 는 Array List 를 사용 하여 다음 과 같이 실현 할 수 있다.List> list =      new   ArrayList>(map.entrySet());
    마지막 으로 Collections. sort (List l, Comparator c) 방법 으로 정렬 합 니 다. 코드 는 다음 과 같 습 니 다.Collections.sort(list, new   Comparator>() {      public   int   compare(Map.Entry o1,              Map.Entry o2) {          return   (o2.getValue() - o1.getValue());      } });
    상기 코드 는 map 의 value 를 역순 으로 정렬 하 는 것 입 니 다. 오름차 순 으로 정렬 하려 면 o 2. getValue () - o 1. getValue () 를 o 1. getValue () - o 2. getValue () 로 수정 하면 됩 니 다 .

    좋은 웹페이지 즐겨찾기