상세 컨텐츠

본문 제목

[자바] java Collection 프레임 워크의 Map 쉽게 정리 /인터페이스_Set/ List/ hashMap/get value

java_자바

by 쫑메이 2020. 8. 9. 00:45

본문

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 


[자바_컬렉션_데이터저장]

Collection 프레임 워크의 Map


 

 

 

※ Collection 프레임 워크의 Map 인터페이스 계열

키(key)와 값(value)의 한 쌍으로 갖는 데이터를 구조

- 사물함 같다

키는 중복 안되고, 값은 중복 허용된다

예를 들어 주민등록번호와 이름을 갖는 구조라든지, 전화번호와 이름을 구조로 갖는다든지

 

★ 대표적인 구현체 클래스는 HashMap, Properties

*HashTable은 구 버전이므로 HashMap을 쓰면 된다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바_컬렉션_데이터저장]

Collection 프레임 워크의 Map _메서드 종류


 

 

Map 객체 크기 _map.size();

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바_컬렉션_데이터저장]

Collection 프레임 워크의 Map _.isEmpty();


 

 

map.isEmpty(); _Map 객체가 비어있는가?

 

 

 

 

 

 

 

 

 

 


[자바_컬렉션_데이터저장]

Collection 프레임 워크의 Map _전체 요소 출력


 

 

 

Map 객체 전체 요소 출력

 

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바_컬렉션_데이터저장]

Collection 프레임 워크의 Map _put() 메서드


 

 

Object put(Object key, Object value) : key에 해당하는 value 저장

 

Map<k, v>에서 put을 사용할 때는 key가 같으면 기존의 값을 덮어써버린다. 다르면 수정한다

그래서 추가와 수정에 사용되는 메서드가 동일하다

 

 

 

 

map.put(“admin”,“사오정”);

map.put(“member”,“사오정”);

map.put(“admin”,“저팔계”);

 

 

 

 

 

 

 

 

키가 중복일 때 값을 덮어쓰는데 출력되는 것은 삭제되는 값이다

=put() 메서드 리턴 타입이 있는 이유는 중복된 키 지정 시 제거되는 값을 리턴한다

 

 

 

 

 

 

 


 

Object get(Object key) 키에 해당하는 vlaue를 리턴(키 존재하지 않으면 null 리턴)

map.get(“admin”);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바_컬렉션_데이터저장]

Collection 프레임 워크의 Map _containsKey(Object key) 메서드


 

 

boolean containsKey(Object key) 키가 존재하는지 리턴

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바_컬렉션_데이터저장]

Collection 프레임 워크의 Map _boolean containsValue() 메서드

 


 

 

 

boolean containsValue(Object value) value가 존재하는지를 리턴

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바_컬렉션_데이터저장]

Collection 프레임 워크의 Map _Set keySet() 메서드


 

 

Set keySet() 객체 안의 모든 key 들을 Set 타입 객체로 리턴

 

Set keySet = map.keySet();

System.out.println("모든 키 : " + keySet);

 

 

 

 

 

Set keySet() 객체 안의 모든 key들을 Set 타입 객체로 리턴하므로

key는 set에만 들어가지만 value는 collection 타입 (인터페이스)

value는 list, set 모두 가능하지만 set을 쓰면 중복 값이 다 날아가니 조심해야 한다

 

 

 

 


 

 

 

 

 

 

Collection values() : 객체 안의 모든 value 들을 Collection 타입 객체로 리턴

Collection 타입의 자식들 타입으로도 전달받을 수 있음

단, Collection -> List 또는 Set으로 다운 캐스팅이 불가능하므로

new 연산자를 사용하여 객체 생성 파라미터에 values() 메서드 리턴 값 전달

 

 

 

 

 

 

List valueList=(List) map.values(); 다운 캐스팅이 불가하다

그래서 해결 방법(1) ArrayList 객체 생성 시, 파라미터로 values() 리턴값 전달하면 Collection -> List 가능

 

List valuesLsit=new ArrayList(map.values());

 

 

그래서 해결 방법(2) collection 타입 변수로 저장도 가능

Collection collection=map.values();

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바_컬렉션_데이터저장]

Collection 프레임 워크의 Map _entrySet() 메서드


 

 

map.entrySet() 모든 키와 값을 묶어서 세트로 리턴

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


[자바_컬렉션_데이터저장]

Collection 프레임 워크의 Map _ remove(Object key) 메서드


 

 

Object remove(Object key) : key에 해당하는 key 와 value 모두 삭제

(삭제 값 리턴)

키가 존재하지 않으므로 null 리턴

 

 

 

 

 

 

 

boolean remove(Object key, Object value)_key 와 value에해당하는key, value 삭제

=> 삭제될(존재할) 경우 true, 삭제되지(존재하지) 않을 경우 false 리턴

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

ㅣ읽느라 수고 많으셨어요~ㅣ

 

 

 

 

 

 

 

 

 

 

 


 

 


 

 

 

 

 

 

 

 

부족한 글을 읽어주셔서 감사드립니다

아직 부족한 게 많으니

틀린 곳이 있다면

조언의 말씀 꼭 부탁드립니다!!!!

 

 

 

 

 

 


 

 

반응형

관련글 더보기