본문 바로가기
Java/정리

[Java] 컬렉션프레임워크_Map

by 콧등치기국수 2021. 7. 19.
Map 인터페이스

키(key)와 값(value)으로 구성되어 있으며, 키와 값은 모두 객체이다. 

키는 중복저장을 허용하지 않는 Set방식이고, 값은 중복저장이 가능한 List방식이다. 따라서 키를 중복하여 저장하려는 경우에는 기존에 있는 키에 해당하는 값에 덮어씌운다.

구현 클래스로는 HashMap, HashTable, LinkedHashMap, TreeMap, Properties이 있다.

 

1. HashMap 선언 및 할당

key 값은 String, vale는 Student형인 stdMap 객체를 생성하였다.

아래와 같이 키 값은 보통 String으로 하는데 이는 int인 경우 index로 관리하는 ArrayList와 차이가 없기 때문이다.

HashMap<String,Student> stdMap = new HashMap<>();

 

2-1. HashMap 값 추가

put()메소드로 데이터를 추가한다.

stdMap.put("커피", new Student(1,"최씨"));  //.put(키, 값)
stdMap.put("도넛", new Student(2,"김씨"));
stdMap.put("라면", new Student(3,"박씨"));

 

2-1. HashMap 값 출력

아래와 같이 키와 값이 짝지어서 출력된다. 하지만 put으로 넣은 순서대로 출력되지는 않는다.

System.out.println(stdMap);

// 출력: {키1=값1, 키2=값2, 키3=값3}

 

2-2. HashMap value값 뽑기

.get( ) 메소드를 통해 key값에 따른 value값을 가져올 수 있다.

Student value1 = stdMap.get("커피");
System.out.println(value1);

 

2-3. Entry(key, value) 삭제

.remove( ) 메소드를 통해 key값과 value값을 합친 Entry를 삭제할 수 있다..

stdMap.remove("커피");  //key