[Java] 자료구조, 컬렉션 프레임 워크 (4)

2020. 7. 1. 13:02Language/Java

1. Map 인터페이스

Key-Value Pair의 객체를 관리하는데 필요한 메서드가 정의된다. Key는 중복 될 수 없다. 검색을 위한 자료 구조이다. Key를 이용하여 값을 저장하거나 검색, 삭제할 때 사용하면 편리하다. 내부적으로 hash 방식으로 구현되며 Key가 되는 객체는 객체의 유일성함의 여부를 알기 위해 equals()와 hashCode()메서드 재정의한다.

1) HashMap

Map 인터페이스를 구현한 클래스 중 가장 일반적으로 사용하는 클래스이다. HashTable 클래스는 Java 2 부터 제공된 클래스로 Vector처럼 동기화를 제공한다. Pair 자료를 쉽고 빠르게 관리할 수 있다.

Member, MemberHashMap, MemberTest
구현 화면

※ 중복 처리가 가능한 이유는 Key값이 Integer로, equals()와 hashCode()가 구현이 되어 있기 때문이다.

2) TreeMap

Key 객체를 정렬하여 Key-Value를 Pair로 관리한다. Key에 사용되는 클래스에 Comparable, Comparator 인터페이스를 구현한다. Java에 많은 클래스들은 이미 Comparable이 구현되어 있다. 구현된 클래스를 Key로 사용하는 경우는 구현할 필요 없다.

Member, MemberTreeMap, MemberTest
구현 화면


[참고] github.com/ozofweird/Java_Practice

 

728x90