Map 인터페이스는 키와 값으로 이루어져있는 자료를 관리하는 메소드이다.
키는 중복될 수 없지만 값은 중복될 수 있다.
Hash로 값을 생성하면 고유 주소값이 생기는데 이것을 숫자로 변환한 것을 해시코드라고 한다.
Map은 리스트나 배열처럼 순차적으로 해당 요소 값을 구하지 않고 key를 통해 value(값)을 얻는다.
HashMap은 Map인터페이스를 구현한 대표적인 Map 컬렉션이다.
haseCode() 리턴값과 equals()리턴값이 같은 경우 같은 키로 간주한다.
public static void main(String[] args) {
// Map 컬렉션 생성
HashMap<String, Integer>map = new HashMap<>();
// 객체 추가
map.put("Americano", 2500);
map.put("Latte", 4000);
// 객체 찾기
System.out.println(map.get("Latte"));
// 객체 삭제
map.remove("Latte");
}
HashTable은 HashMap과 동일한 구조를 가지고 있다.
ArrayList와 Vector의 관계와 마찬가지로 HashTable는 동기화된 메소드로 구현되어 있어 멀티 스레드 환경에서 안전하다.
키와 값을 모두 String 타입으로 제한한 Map 컬렉션이다.
주로 Properties의 정보를 읽어 들일 때 사용된다.