13_java_Map

study/java · 2019. 11. 12. 08:45

@@map@@

키(Key)와 값(Value)으로 구성되어있으며 키와 값은 모두 객체

키는 중복저장 허용안함(Set), 값은 중복 저장 가능(List)

키가 중복되면, 기존키에 해당하는 값을 덮어씌움

#Entry란? Key=Value 한쌍을 일컫는 말

@메소드@

-put(K key, V value)

map에 데이터를 추가하는 메소드

키값 반환

-get(Object key)

Map에 해당하는 key값의 value를 얻어오는 메소드

-size()

Map에 저장되어있는 key의 개수(객체의 개수)를 반환

-replace(K key, V value)

Map에 저장된 데이터 중 key값이 같은 Entry의 value를 수정

key값이 중복되지 않으면 null값 반환

-remove(K key)

해당 Key를 가지고 있는 entry를 삭제

@@출력

@1. keySet()활용

-->Map에 저장된 데이터 중 key값들만 set으로 추출

Set<String>keySet = map.keyset();

Iterator<String> it = keySet.iterator();
// keySet이 참조하고 있는 Set값들을
// Iterator를 이용하여 반복자에 담는 과정

// 반복자문을 이용하여 key와 value출력하기
while(it.hasNext()){
	// 반복자를 이용하여 key값을 알수 있음
    String key = it.next();
    
    System.out.println("key : " + key);
    System.out.println("value : " + map.get(key));
}

 

@2. keySet() + 향상된 for문

for(String key : keySet) {
	System.out.println("key : " + key);
    System.out.println("value : " + map.get(key));

 

@3. entrySet() 활용

Set<Entry<String, Snack>> entrySet = map.entrySet();

//Iterator 반복 접근
Iterator<Entry<String, Snack>> it2 = entrySet.iterator();

while(it2.hasNext()) {
	Entry<String, Snack>entry = it2.next();
    
    System.out.println("key: " + entry.getKey());
    System.out.println("value: " + entry.getValue());
}

 

@HashMap@

키 객체는 hashCode()와 equals()를 오버라이딩해 동등객체가 될 조건을 정해야함

키 타입은 hashCode()와 equals()메소드가 재정의되어있는 String 타입을 주로 사용

@HashTable@

HashMap의 이전버전 안씀

@Properties@

키와 값을 String타입으로 제한한 Map컬렉션

@TreeMap@

키를 기준으로 자동정렬

 

'study > java' 카테고리의 다른 글

13_java_Exception  (0) 2019.11.28
14_java_용어정리  (0) 2019.11.13
12_java_Comparable,Comparator,Set  (0) 2019.11.09
11_java_MVC Model2,Collection  (0) 2019.11.08
10_java_String,wrapper  (0) 2019.11.07