-
Map계열의 Collections / HashMap / 2019-12-09JAVA 2020. 1. 15. 12:08728x90
Map 계열
- K : 키(Key) / V : 값(Value)를 의미
- 내부적으로 Map.Entry 라는 내부클래스 형태로 저장됨
=> 키와 값으로 구성된 Entry(클래스) 객체의 모임
- 키는 중복 O, 값은 중복 X
- HashMap을 많이 사용
Map<Integer, String> map = new HashMap<Integer, String>(); map.put(1, "바나나"); map.put(2, "딸기"); System.out.println(map); System.out.println("3번 key에 포도 등록 : " + map.put(3, "포도")); //원래 들어있던 값을 리턴(null리턴) System.out.println(map);
<결과코드>
{1=바나나, 2=딸기} 3번 key에 포도 등록 : null {1=바나나, 2=딸기, 3=포도}
값이 들어있는 Key 에 새로운 값을 넣으면
System.out.println("3번 key에 복숭아 등록 : " + map.put(3, "복숭아")); // 원래 들어있던 값 리턴(포도 리턴) System.out.println(map);
<결과코드>
3번 key에 복숭아 등록 : 포도 {1=바나나, 2=딸기, 3=복숭아}
// key값으로 값을 가져올 수 있음 System.out.println("2번 key에 등록된 value : " + map.get(2)); // map의 Key 중 값이 있는지를 확인 System.out.println("4번 key를 가지고 있나? " + map.containsKey(4)); // map의 Value 중에 값이 있는지를 확인 System.out.println("사과값을 들고 있나? " + map.containsValue("사과"));
<결과코드>
2번 key에 등록된 value : 딸기 4번 key를 가지고 있나? false 사과값을 들고 있나? true
모든 Key, Value, Entry값 가져오기
System.out.println("모든 key를 출력 : " + map.keySet()); // Set계열 객체 변환 System.out.println("모든 값을 출력 : " + map.values()); System.out.println("모든 엔트리 출력 : " + map.entrySet());
<결과코드>
모든 key를 출력 : [1, 2, 3] 모든 값을 출력 : [바나나, 딸기, 복숭아] 모든 엔트리 출력 : [1=바나나, 2=딸기, 3=복숭아]
System.out.println("2번 키 삭제 : " + map.remove(2)); // 삭제한 값 반환 // remover(key 값) System.out.println("모든 데이터 출력 : " + map); System.out.println("2번 키 삭제 : " + map.remove(2)); // remove(index) 가 null인 경우 삭제할 키가 존재하지 않는다 System.out.println("맵에 저장된 엔트리 갯수 : " + map.size()); map.clear(); System.out.println("모든 데이터 출력 : " + map);
<결과코드>
2번 키 삭제 : 딸기 모든 데이터 출력 : {1=바나나, 3=복숭아} 2번 키 삭제 : null 맵에 저장된 엔트리 갯수 : 2 모든 데이터 출력 : {}
모든 값을 Collection 타입 객체로 리턴
// 객체 생성 시 파라미터로 전달하여 변환 수행 List keyList = new ArrayList(map.keySet()); System.out.println("모든 키값 출력" + keyList); List valueList = new ArrayList(map.values()); System.out.println("모든 데이터 출력" + valueList);
<결과코드>
모든 키값 출력[1, 2, 3] 모든 데이터 출력[바나나, 딸기, 복숭아]
728x90728x90'JAVA' 카테고리의 다른 글
Comparable<T>, Comparator<T> 인터페이스 - 정렬방식 지정 (0) 2020.05.26 GenericType / 2019-12-12 (0) 2020.01.15 데이터 정렬 / Collections의 sort() 메서드, shuffle() 메서드 / 2019-12-09 (0) 2020.01.15 Set 계열의 Collection / Set / HashSet / TreeSet / 2019-12-09 (0) 2020.01.14