0. Map 타입 사용할때 객체 생성 하기!
Map<String, String> map = new HashMap<String, String>();
데이터 추가하기: put(key값, value 값)
- 변수명.put(key,value);
map.put("name", "홍길동");
map.put("addr", "대전");
map.put("tel", "010-1111-2222");
System.out.println("map =>" + map);//출력
테이블로 표현하면
map
name | addr | tel |
홍길동 | 대전 | 010-1111-2222 |
데이터 수정하기 : put (key값, value 값)
데이터를 저장할 때 key값이 같으면 나중에 입력한 값이 저장된다.
key : 중복이 허용 안됨
value : 중복이 허용됨
key 동일하게 작성하고 value 수정하고싶은 값 작성
map.put("addr", "서울");
System.out.println("수정 map =>"+ map);
데이터 삭제하기 : remove(key값)
- 변수명.remove(key값);
map.remove("name");
System.out.println("map =>"+ map);
데이터 읽어오기 : get(key값)
- 변수명.get(key);
System.out.println("addr = " + map.get("addr"));
key값들을 읽어와 데이터를 가져오는 방법
방법1. keySet() 메소드 이용하기 (Map타입에 keySet이 포함되어 있다)
1. Set 타입 객체 생성
- Set<T> 변수명 = Map타입변수명.keyset();
2. Iterator 타입 객체 생성
- Iterator<T> 변수명 = Set타입변수명.iterator();
3.while문 사용
- 조건문 : hasNext() : 다음 요조 존재 하는지 혹은 그렇지 않으면 true/false 리턴
true 이면 다음 요소 있다는 것이고,
falser이면 현재 요소가 마지막이라는 뜻
- next() :다음요소 가져온다
- remove() : next()로 호출된 요소 제거
Set<String> keySet = map.keySet();
System.out.println("Iterator를 이용하는 방법");
Iterator<String> it = keySet.iterator();
while (it.hasNext()) {
String key = it.next();
System.out.println(key + " : " + map.get(key));
}
방법2. Set형의 데이터를 '향상된 for문(forEach)문'으로 처리하면 Iterator를 사용하지 않아도 된다.
System.out.println("향상된 for문(foreach문)을 이용한 방법");
for(String key : keySet) {
System.out.println(key + " : " + map.get(key));
}
방법3. value값만 읽어와 가져오기
System.out.println("values() 메서드 이용한 방법");
for(String value : map.values()) {
System.out.println(value);
}
방법4 . Entry객체를 가져와 처리하는 방법
System.out.println("entrySet()을 이용한 방법");
Set<Map.Entry<String, String>> entrySet = map.entrySet();
Iterator<Map.Entry<String, String>> entryIt = entrySet.iterator();
while(entryIt.hasNext()) {
Map.Entry<String, String> entry = entryIt.next();
System.out.println("key값 : " + entry.getKey());
System.out.println("value값 : " + entry.getValue());
System.out.println();
}
원본
더보기
package kr.or.ddit.basic;
import java.util.HashMap;
import java.util.Map;
public class T08HashMapTest {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
//데이터 추가하기: put(key값, value 값)
map.put("name", "홍길동");
map.put("addr", "대전");
map.put("tel", "010-4536-7292");
System.out.println("map =>" + map);
//데이터 수정하기 : put(key값, value 값)
// 데이터를 저장할 때 key값이 같으면 나중에 입력한 값이 저장된다.
map.put("addr", "서울");
System.out.println("map =>"+ map);
//데이터 삭제하기 : remove(key값)
map.remove("name");
System.out.println("map =>"+ map);
//데이터 읽어오기 : get(key값)
System.out.println("addr = " + map.get("addr"));
System.out.println("=====================================");
}
}
'JAVA > 수업' 카테고리의 다른 글
T03GenericMethod (1) | 2024.01.24 |
---|---|
T02GenericClass (0) | 2024.01.24 |
T06 TreeSet (1) | 2024.01.23 |
T05 HashSet (0) | 2024.01.23 |
T01~ T04 24.1.20 List&Link (0) | 2024.01.20 |