HashMap 과 TreeMap 의 정렬 및 네 가지 옮 겨 다 니 는 방식

1. 지도 개요
1. Map 은 키 를 값 (key - value) 에 비 추 는 대상 입 니 다.반복 되 는 키 를 포함 할 수 없 는 맵;모든 키 는 최대 한 값 만 표시 할 수 있 습 니 다.
2. 맵 과 Collection 의 차이
    (1) Map 은 키 값 이 맞 는 방식 으로 요 소 를 저장 하고 키 가 유일 하 며 값 은 중복 할 수 있 습 니 다.
    (2) Collection 은 단일 열 요 소 를 저장 하고 하위 인터페이스 set 요 소 는 유일 하 며 하위 인터페이스 List 는 중복 할 수 있 습 니 다.
    (3) Map 의 데이터 구 조 는 키 에 유효 하고 값 과 상 관 없 이 Collection 은 요소 에 유효 합 니 다.
3. HashMap 과 TreeMap 의 생 성, 정렬.

/***
 * Map        
 *   TreeMap   ,HashMap   ,      
 * @author Administrator
 *
 */
public class MapTest {
 
    public static void main(String[] args) {
 
        //  map  ,   
        
        Map treeMap = new TreeMap(new Comparator() {
            @Override
            public int compare(String o1, String o2) {
                return o1.compareTo(o2);
            }
        });
        
        treeMap.put("sufow1", "  1");
        treeMap.put("sufow2", "  2");
        treeMap.put("sufow3", "  3");
        treeMap.put("sufow4", "  4");
        treeMap.put("sufow5", "  5");
        treeMap.put("sufow6", "  6");
        treeMap.put("sufow7", "  7");
        
        System.out.println("TreeMap");
        
        //  map    ,  keyset       key,   key   
        for(String str :treeMap.keySet()){
            String val = treeMap.get(str);
            System.out.println(val);
        }
        
        Map hashMap = new HashMap();
        
        
        hashMap.put("sufow1", "  1");//    null 
        hashMap.put("sufow2", "  2");
        hashMap.put("sufow3", "  3");
        hashMap.put("sufow4", "  4");
        hashMap.put("sufow5", "  5");
        hashMap.put("sufow6", "  6");
        hashMap.put("sufow7", "  7");
        
        System.out.println("HashMap");
        
        //   
        
        List> list = new ArrayList>(hashMap.entrySet());
        
        //        
        Collections.sort(list, new Comparator>() {
            @Override
            public int compare(Entry o1,
                    Entry o2) {
                return o1.getValue().compareTo(o2.getValue());
            }
        });
        
        //  List,     Map.Entry
        for(Map.Entry m :list){
            String val =  m.getValue();
            System.out.println(val);
        }
        
        //     map   ,     Iterator
        Iterator> iterator = hashMap.entrySet().iterator();
        
        while(iterator.hasNext()){
            Map.Entry map = iterator.next();
            System.out.println(map.getKey());
            System.out.println(map.getValue());
        }
        
        //     values,    value
        for(String str:hashMap.values()){
            System.out.println(str);
        }
        
        
        //   ,  Map.Entry
        for(Map.Entry map:hashMap.entrySet()){
            System.out.println(map.getKey());
            System.out.println(map.getValue());
        }
    }

 
4. 총화
(1) map 정렬 의 두 가지 방식
         첫 번 째: new Comparator 의 인 터 페 이 스 를 통 해 방법 을 실현 하고 정렬 합 니 다.
         두 번 째: 먼저 맵 을 List 로 바 꾸 고 Collections 의 sort 방법 으로 정렬 합 니 다.
(2) Map 의 네 가지 옮 겨 다 니 는 방식
        첫 번 째: 맵 의 keyset () 방법 으로 옮 겨 다 닙 니 다.
        두 번 째: Map 의 values () 방법 으로 옮 겨 다 닙 니 다.
        세 번 째: Map 의 entry Set () 방법 을 통 해 Iterator 방법 을 Iterator 로 변환 합 니 다.교체 기 를 통 해 옮 겨 다 닌 다.
        네 번 째: Map 의 entry Set () 방법 을 통 해 Map. Entry 대상 으로 전환 하고 foreach 를 통 해 옮 겨 다 니 며 Map. Entry 대상 의 getValue () 를 통 해 값 을 얻 습 니 다.  저자: loy 의 구덩이 메 우기 생활  출처: CSDN  원문:https://blog.csdn.net/zousufow/article/details/56843979

좋은 웹페이지 즐겨찾기