AR삽질러

Java - Collection Framework (Map Collection) 본문

카테고리 없음

Java - Collection Framework (Map Collection)

아랑팡팡 2023. 4. 17. 11:07
728x90

 

----------------------------------------------------------------------------------------------------------------------------------------------------

2. Map Collection

- Map Collection은 key, value로 객체를 저장하는 구조로 키는 중복 저장될 수 없지만 값은 중복을 허용한다. (기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값이 새로운 값으로 대체된다.)

- Map Collection에는 HashMap, Hashtable, LinkedHashMap, Properties, TreeMap등이 있다

Function Method Ex
Add Object V put(k key, v val) 주어진 키와 값을 추가, 저장되면 값을 리턴한다.
Object search boolean containsKey(Object key) 주어진 키가 있는지 여부
Set<Map.Entry<K,V>> entrySet() 키와 값의 쌍으로 구성된 모든 Map,Entry객체를 Set에 담아서 리턴한다.
V get(Object key) 주어진 키의 값을 리턴
boolean iEmpty() 컬렉션이 비어 있는지 여부
Set<K> ketSet() 모든 키를 Set객체에 담아서 리턴
int size() 저장된 키의 총 수를 리턴
Collection<V> values 저장된 모든 값을 Collection에 담아서 리턴한다.
Object delete void clear() 모든 Map.Entry(키와 값)을 삭제한다.
V remove(Object key) 주어진 키와 일치하는 Map.Entry를 삭제하고 값을 리턴한다.

 

HshMap

- HashMap은 Map인터페이스를 구현한 대표적인 Map컬렉션이다. HashMap의 키로 사용할 객체는 hasgCode()와 equals() 메소드를 재정의해서 동등객체가 될조건을 정해야한다. 

 

package map;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

public class Map01 {
	public static void main(String[] args) {
		
		HashMap<Integer, String> map = new HashMap<>();
		
		// V.put(key, value) = 주어진 키와 값을 추가하고 저장되면 리턴한다.
		map.put(new Integer(1), new String("아구몬"));
		map.put(2, "파피몬");
		map.put(3, "파닥몬");
		map.put(4, "기가몬");
		map.put(5, "피노키오몬");
		map.put(1, "블랙워그레이몬");
		// 같은 키 객체로 저장했을때 value객체가 된다.
		
		// int size() = 저장된 키의 수를 리턴한다.
		System.out.println("map의 size : " + map.size());
		
		// v.get(Object key)주어진 키의 값을 리턴한다.
		System.out.println(map.get(1)); // key객체로 value를 얻을 수 있다.
		
		// 객체를 하나씩 처리할때
		Set<Integer> keyset = map.keySet(); // 전체 key객체를 set타입으로 반환한다.
		Iterator<Integer> keyinter = keyset.iterator();
		
		while(keyinter.hasNext()) {
			int key = keyinter.next();
			String value = map.get(key);
			System.out.println("key : " + key + " value : " + value);
		}
		
		// v.remove(Object key) = 객체삭제
		map.remove(5);
		
		// 전체출력
		System.out.println(map);
		
		// void clear() = 객체전체삭제
		map.clear();
		
		if(map.isEmpty()) {
			System.out.println("map이 비어있습니다.");
		}else {
			System.out.println("map에 객체가 있습니다.");
		}
	}
}

728x90
반응형
LIST