Map 컬렉션 클래스
Map 인터페이스는 Collection 인터페이스와는 다른 저장 방식을 가진다. Map 인터페이스를 구현한 Map 컬렉션 클래스들은 키와 값을 하나의 쌍으로 저장하는 방식(key-value 방식)을 사용한다. 키(key)란 실질적인 값(value)을 찾기 위한 인데스역할을 한다. Map 컬렉션 클래스는 ① 요소의 저장 순서를 유지하지 않는다. ② 키는 중복을 허용하지 않지만, 값의 중복은 허용한다는 특성을 가지고 있다.
대표적인 Map 컬렉션 클래스로는 HashMap<K, V> / Hashtable<K, V> / TreeMap<K, V> 등이 있다.
Map 컬렉션의 대표적 문법 :
생성 : HashMap<키 타입, 값 타입 > map = new HashMap<>();
추가 : map.put(키, 값);
검색 : map.get(키);
키 묶음 : map.keySet();
값 묶음 : map.values();
package ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class MapTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 인터페이스로 구현 가능
// 맵 생성, 키 타입은 int, 값의 타입은 String인 걸로 지정
// 물론 다르게 써도 됌
HashMap<Integer, String> map = new HashMap<>();
map.put(1, "aaa");
map.put(2, "bbb");
map.put(3, "ccc");
// 값을 꺼내기 위해서 get 사용
System.out.println(map.get(1));
System.out.println(map.get(2));
System.out.println(map.get(3));
HashMap<String, String> map2 = new HashMap<>();
map2.put("name", "aaa");
map2.put("tel", "111");
map2.put("address", "대한민국");
System.out.println("name : " +map2.get("name"));
System.out.println("tel : " +map2.get("tel"));
System.out.println("address : " +map2.get("address"));
// for-each 반복문은 컬렉션이나 배열 등의 요소들을 순회하는 데 사용되는
//특별한 형태의 반복문으로,
// for (type variable : collection)의 형식으로 작성
// 여기서 type은 컬렉션의 요소(element)의 자료형(type)을 나타내고,
// variable은 각 요소에 대해 사용되는 변수 이름(variable name)이며,
// collection은 반복문이 적용될 컬렉션을 나타낸다.
// Map2의 키 묶음을 저걸로 묶어서 하나씩 뽑아 올라고 -> 반복자 사용
for (String key : map2.keySet()) { // keySet() = 키 묶음
System.out.println(key + " : " + map2.get(key));
System.out.println(map2.get(key)); //키로 값을 추출
}
for(String s : map2.values()) { // 값만 가지고 있음
System.out.println(s); //값만 추출
}
}
}
'JAVA' 카테고리의 다른 글
[JAVA] equals( ) 메소드 (0) | 2023.03.08 |
---|---|
[JAVA] == 과 equals( ) 메서드 차이 (0) | 2023.03.08 |
[JAVA] 반복자 Iterator (0) | 2023.03.07 |
[JAVA] 컬렉션 프레임워크 - ArrayList (0) | 2023.03.07 |
[JAVA] 컬렉션 프레임워크 (collection framework) (0) | 2023.03.06 |