컬렉션 프레임워크와 맵

Map<K, V> 인터페이스를 구현하는 컬렉션 클래스들

  • Iterable 인터페이스를 구현하지 않는다. -> 반복자를 얻을 수 없다.
  • HashMap
  • TreeMap

HashMap<K, V>

public static void main(String[]args){
    HashMap<Integer, String> map = new HashMap<>();
    
    // Key-Value 기반 데이터 저장
    map.put(45, "Brown");    
    map.put(37, "James");   
    map.put(23, "Martin");
    
    // 데이터 탐색
    System.out.println("23번 : "+map.get(23));
    System.out.println("37번 : "+map.get(37));
    System.out.println("45번 : "+map.get(45));
    System.out.println();
    
    // 데이터 삭제
    map.remove(37);
    
    // 데이터 삭제 확인
    System.out.println("37번 : "+map.get(37));    
}

Map 전체 데이터에 접근하려면?

public Set<K> KeySet(); // 메소드를 이용하여 접근한다.

public static void main(String[]args){
        HashMap<Integer, String> map=new HashMap<>();

        // Key-Value 기반 데이터 저장
        map.put(45,"Brown");
        map.put(37,"James");
        map.put(23,"Martin");
        
        // Key만 담고 있는 컬렉션 인스턴스 생성 (Set)
        Set<Integer> ks = map.keys();
        
        // 전체 key 출력
        for(Integer n : ks)
            System.out.print(n.toString() + '\t');
        System.out.println();
        
        // 전체 Value 출력
        for(Integer n : ks)
            System.out.print(map.get(n) + '\t');
        System.out.println();
        
        // 전체 Value 출력 (반복자 기반)
        for(Iterator<Integer> itr = ks.iterator(); itr.hasNext();)
            System.out.print(map.get(itr.next()) + '\t');
        System.out.println();
        
}

TreeMap<K, V>

  • 데이터를 저장시, 정렬을 하며 저장을 한다.
TreeMap<Integer, String> map = new TreeMap<>();

좋은 웹페이지 즐겨찾기