반응형
Key, Value로 구성된 Map은 List와 함께 대체적으로 많이쓰이는 자료구조에 속합니다.
인덱스가 없어 데이터는 순차적으로 저장, 접근하지는 못하고 각각의 값에 Key가 매핑되어 있어 이를 기준으로 데이터에 접근할 수 있습니다.
특징
1. Key, Value로 구성됨
2. 인덱스가 존재하지 않음
3. 자료 저장시 순서가 없음
4. 값을 중복은 허용하나 Key는 중복 불가
선언법
HashMap<String, String> map = new HashMap<String, String>();
String 부분은 제네릭은 데이터 타입 변경이 가능합니다.
기능
명령어 | 기능 |
Put | 데이터 삽입 |
Get | 데이터 읽기 |
Remove | 데이터 삭제 |
Size | Map에 저장된 데이터 갯수를 리턴 |
containsKey | 해당 키가 존재하는지 리턴(True,False) |
containsValue | 해당 값이 존재하는지 리턴(True,False) |
기능 실습
public class PreTest {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<String, String>();
//입력
map.put("1", "One");
map.put("2", "Two");
map.put("3", "Three");
System.out.println("1. 저장된 map");
System.out.println(map);
System.out.println("\n2. get");
System.out.println(map.get("1"));
System.out.println(map.get("2"));
System.out.println(map.get("3"));
//삭제
map.remove("3");
System.out.println("\n3. 삭제 처리된 데이터");
System.out.println(map);
System.out.println("\n4. size");
System.out.println(map.size());
System.out.println("\n5. containsKey");
System.out.println(map.containsKey("1"));
System.out.println("\n6. containsValue");
System.out.println(map.containsValue("One"));
}
}
데이터 추출
public class PreTest {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("1", "One");
map.put("2", "Two");
map.put("3", "Three");
Iterator<String> it = map.keySet().iterator();
while(it.hasNext()){
String key = (String) it.next();
System.out.println(key+" : "+map.get(key));
}
}
}
인덱스가 없기 때문에 map에 저장된 데이터를 순차적으로 꺼낼 수 없을 것 같지만,
Iterator를 활용하여 모든 데이터를 추출할 수 있습니다.
반응형
'Dev > Java' 카테고리의 다른 글
[Java] 정렬, 배열을 이용한 선택정렬 방법 (0) | 2022.10.28 |
---|---|
[Java] 입출력 스트림 사용법 InputStreamReader, BufferedReader (0) | 2022.10.21 |
[Java] ArrayList 구조와 기능 구현 (0) | 2019.12.22 |
[Java] 데이터의 집합 배열 (0) | 2019.12.21 |
[Java] 소수점 반올림, 내림, 올림 함수 (0) | 2019.12.19 |