2-1(6) Map
Map
- key값과 value값을 한 쌍으로 관리하는 객체
- key값은 중복을 허용하지 않고 순서가 없다.(Set의 특징)
- value값은 중복을 허용한다.(List의 특징)
Map CRUD
- 자료추가 : put() => 새로운 키값, 새로운 value값
- 자료수정 : put() => 존재하는 키값에 새로운 value값
- 자료삭제 : remove() => 키값
- 자료읽기 : get() => 키값
key값들을 읽어와 자료를 출력하는 방법
-
1) keySet()메서드 이용하기
: keySet()메서드=> Map의 key값들만 읽어와 Set형을 반환한다.
-
2) Set형의 데이터를 '향상된 for문'을 이용하여 처리한다.
-
3) value값만 읽어와 출력하기 => values()메서드를 이용하기
Entry
- 4) 가장 Map스럽게 뽑아내는 방법
: Map에는 Entry라는 내부 클래스가 만들어져있다.
이 Entry클래스에서는 key와 value라는 멤버변수로 구성되어 있다.
Map에서 이 Entry클래스들을 Set형식으로 저장하여 관리한다.
: Entry객체 전체를 가져오기(가져온 Entry들은 Set형식으로 되어있다.)
=> entrySet()메서드를 이용하여 가져온다.
: 가져온 Entry객체들을 순서대로 처리하기 위해서 Iterator객체를 가져온다.
Entry타입의 key,value를 받은 Iterator
: Entry가 갖고 있는 getKey(),getValue() 메서드를 이용하여
key값과 value값을 가져온다.
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
//new HashMap<String,String>(); <>안에 생략가능
//자료 추가 => put(key값,value값);
map.put("name", "홍길동");
map.put("addr", "대전");
map.put("tel", "010-5516-5385");
System.out.println("map => "+map);
//자료 수정 => 데이터를 저장할 때 key값이 같으면 나중에 입력한 값이 저장된다.
// => put(수정할 key값, 새로운 value값)
map.put("addr", "서울"); // map안에 존재하는 키값이 들어있으면 수정 "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("===================================================");
System.out.println("<<<<key값들을 읽어와 자료를 출력하는 방법>>>>>");
//방법1 => keySet()메서드 이용하기
//keySet()메서드=> Map의 key값들만 읽어와 Set형을 반환한다.
Set<String> keySet = map.keySet(); //Key값만 모아서 Set에 모아 담았다.
System.out.println("Iterator 이용방법");
Iterator<String> it = keySet.iterator();
while(it.hasNext()) {
String key = it.next();
System.out.println(key+" : "+map.get(key)); // 키값 : value값
}
System.out.println("-----------------------------------------------------");
//방법2 => Set형의 데이터를 '향상된 for문'을 이용하여 처리한다.
System.out.println("향상된 for문을 이용한 방법");
for(String key : keySet) {
System.out.println(key+" : "+map.get(key));
}
System.out.println("-----------------------------------------------------");
//방법3 => value값만 읽어와 출력하기 => values()메서드를 이용하기
System.out.println("values()메서드 이용하는 방법");
for(String value : map.values()) { // key값 제외한 value값만 가져오기
System.out.println(value);
}
System.out.println("------------------------------------------------------");
System.out.println("<<<가장 Map스럽게 뽑아내는 방법>>>");
//방법4 => Map에는 Entry라는 내부 클래스가 만들어져있다.
// 이 Entry클래스에서는 key와 value라는 멤버변수로 구성되어 있다.
// Map에서 이 Entry클래스들을 Set형식으로 저장하여 관리한다.
//Entry객체 전체를 가져오기(가져온 Entry들은 Set형식으로 되어있다.)
//Entry 개념 :
//=> entrySet()메서드를 이용하여 가져온다.
Set<Map.Entry<String,String>> mapSet = map.entrySet();
//가져온 Entry객체들을 순서대로 처리하기 위해서 Iterator객체를 가져온다.
//Entry타입의 key,value를 받은 Iterator
Iterator<Map.Entry<String, String>> entryIt = mapSet.iterator();
while(entryIt.hasNext()) {
Map.Entry<String, String> entry = entryIt.next();
System.out.println("key 값 : "+entry.getKey());
System.out.println("value 값 :"+entry.getValue());
}
}
}
Author And Source
이 문제에 관하여(2-1(6) Map), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@zhyun1220/Map
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
- 자료추가 : put() => 새로운 키값, 새로운 value값
- 자료수정 : put() => 존재하는 키값에 새로운 value값
- 자료삭제 : remove() => 키값
- 자료읽기 : get() => 키값
key값들을 읽어와 자료를 출력하는 방법
-
1) keySet()메서드 이용하기
: keySet()메서드=> Map의 key값들만 읽어와 Set형을 반환한다. -
2) Set형의 데이터를 '향상된 for문'을 이용하여 처리한다.
-
3) value값만 읽어와 출력하기 => values()메서드를 이용하기
Entry
- 4) 가장 Map스럽게 뽑아내는 방법
: Map에는 Entry라는 내부 클래스가 만들어져있다.
이 Entry클래스에서는 key와 value라는 멤버변수로 구성되어 있다.
Map에서 이 Entry클래스들을 Set형식으로 저장하여 관리한다.
: Entry객체 전체를 가져오기(가져온 Entry들은 Set형식으로 되어있다.)
=> entrySet()메서드를 이용하여 가져온다.
: 가져온 Entry객체들을 순서대로 처리하기 위해서 Iterator객체를 가져온다.
Entry타입의 key,value를 받은 Iterator
: Entry가 갖고 있는 getKey(),getValue() 메서드를 이용하여
key값과 value값을 가져온다.
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
//new HashMap<String,String>(); <>안에 생략가능
//자료 추가 => put(key값,value값);
map.put("name", "홍길동");
map.put("addr", "대전");
map.put("tel", "010-5516-5385");
System.out.println("map => "+map);
//자료 수정 => 데이터를 저장할 때 key값이 같으면 나중에 입력한 값이 저장된다.
// => put(수정할 key값, 새로운 value값)
map.put("addr", "서울"); // map안에 존재하는 키값이 들어있으면 수정 "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("===================================================");
System.out.println("<<<<key값들을 읽어와 자료를 출력하는 방법>>>>>");
//방법1 => keySet()메서드 이용하기
//keySet()메서드=> Map의 key값들만 읽어와 Set형을 반환한다.
Set<String> keySet = map.keySet(); //Key값만 모아서 Set에 모아 담았다.
System.out.println("Iterator 이용방법");
Iterator<String> it = keySet.iterator();
while(it.hasNext()) {
String key = it.next();
System.out.println(key+" : "+map.get(key)); // 키값 : value값
}
System.out.println("-----------------------------------------------------");
//방법2 => Set형의 데이터를 '향상된 for문'을 이용하여 처리한다.
System.out.println("향상된 for문을 이용한 방법");
for(String key : keySet) {
System.out.println(key+" : "+map.get(key));
}
System.out.println("-----------------------------------------------------");
//방법3 => value값만 읽어와 출력하기 => values()메서드를 이용하기
System.out.println("values()메서드 이용하는 방법");
for(String value : map.values()) { // key값 제외한 value값만 가져오기
System.out.println(value);
}
System.out.println("------------------------------------------------------");
System.out.println("<<<가장 Map스럽게 뽑아내는 방법>>>");
//방법4 => Map에는 Entry라는 내부 클래스가 만들어져있다.
// 이 Entry클래스에서는 key와 value라는 멤버변수로 구성되어 있다.
// Map에서 이 Entry클래스들을 Set형식으로 저장하여 관리한다.
//Entry객체 전체를 가져오기(가져온 Entry들은 Set형식으로 되어있다.)
//Entry 개념 :
//=> entrySet()메서드를 이용하여 가져온다.
Set<Map.Entry<String,String>> mapSet = map.entrySet();
//가져온 Entry객체들을 순서대로 처리하기 위해서 Iterator객체를 가져온다.
//Entry타입의 key,value를 받은 Iterator
Iterator<Map.Entry<String, String>> entryIt = mapSet.iterator();
while(entryIt.hasNext()) {
Map.Entry<String, String> entry = entryIt.next();
System.out.println("key 값 : "+entry.getKey());
System.out.println("value 값 :"+entry.getValue());
}
}
}
Author And Source
이 문제에 관하여(2-1(6) Map), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@zhyun1220/Map저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)