JAVA_Collection2

 



 Map (인터페이스)

    : Map은 키와 값으로 구성된 Entry객체를 저장하는 구조를 가지고 있는 자료구조이다.

    -> key와 value의 구조로 하나의 데이터를 저장한다.

    -> 데이터 접근 구조 : Key를 찾아 데이터를 리턴한다.

      = Key는 중복으로 사용하지 않는 데이터로 지정해야 한다.

      -> 데이터의 key가 있기때문에 데이터 불러올 때 반복문 필요없음

    -> 반복문 필요없기 때문에 list구조보다 훨씬 간단하게 사용할 수 있음

   

    * Map 인터페이스의 메서드

    - V put(K key, V value) : k, v는 제네릭 타입이고, <키, 값>으로 저장된다.

    - boolean containsKey(Object k)  : 맵에 키가 있다면 true 없다면 false

    - boolean containsValue(Object v) : 맵에 value가 있다면 true 없다면 false

    - V get (Object K) : Key에 매칭되는 값을 리턴

   

    예시 1)

    Map<String, member> = new HashMap<String, member>();

    m.put("10가1234", new member("김유신"));

    V put( k key, V value)

    K String, V - member

   

    예시 2)

                 m.containsKey("20사1234");

    boolean containsKey(Object K)

    Object -String

   

   

    1. HashMap 

    : 해시맵은 이름 그대로 해싱(Hashing)된 맵(Map)이기 때문에 많은 양의 데이터를 검색할 때 효율적이다.

    -> 키를 해싱하여 자료를 저장하고 꺼내오기 때문에 속도가 빠르니까!

    * 스프링에서 자주 사용

    -> HashMap 사용시 input name값이 키, value값이 value로 자동저장되기 때문

    * null값을 허용

   

      2. HashTable

    : HashMap과 사용법이 거의 동일한 컬렉션(Collection)

    HashTable은 자바에서 해시 테이블을 구현한 클래스 중 가장 오래됨

    HashMap과는 다르게 null값을 허용하지 않는다.

   

    3. TreeMap

    : TreeMap에서는 Tree라는 개념이 중요! TreeSet에서 처럼 이진트리 구조를 사용

    마찬가지로 객체를 저장하면 자동으로 오름차순 정렬이 된다.

   

                    * 이진트리

            : 각각의 노드가 최대 두 개의 자식 노드를 가지는 트리 자료 구조

    - node : 데이터가 들어가는 공간 

    - root : 최상위 node

   


    * 이진트리 출력 순서

    - 전위 : 가운데 -> 왼쪽 -> 오른쪽  순서로 출력 

    - 중위 : 왼쪽 -> 가운데 -> 오른쪽 순서로 출력

    - 후위 : 왼쪽 -> 오른쪽 -> 가운데 순서로 출력


         4. Properties

    : Properties 클래스는 HashTables의 하위 클래스이다.

HashTables를 상속 받았기 때문에 Map의 속성 즉, Key와 Value를 갖는다.

HashMap과 큰 차이가 없지만, Properties 클래스는 파일 입출력을 지원한다


댓글

이 블로그의 인기 게시물

JAVA_Collection