Map
put(K key, V value) : 첫번째 매개변수인 키를 갖고 두번째 매개변수인 값을 갖는 데이터를
저장
putAll(Map<? extends K, ? extends V> m) : 매개 변수로 넘어온 Map의 모든 데이터를 저장
get(Object key) : 매개 변수로 넘어온 키에 해당하는 값을 넘겨준다.
remove(Object key) : 매개 변수로 넘어온 키에 해당하는 값을 넘겨주며 map에서 삭제
keySet() : Key의 목록을 Set 타입으로 리턴
values() : 값의 목록을 Collection 타입으로 리턴한다.
: 종류 : HashMap, TreeMap, LinkedHashMap
여러 쓰레드에 동시에 접근하여 처리할 필요가 있을 때
Map m = Collections.synchronizedMap(new Hashmap(...));
HashMap
Object -> AbstractMap<K, V> -> HashMap<K, V>
: Serializable, Cloneable, Map<E>
HashMap<String, String> map = new HashMap<String, String>();
map.put("A", "a");
map.put("C", "c");
map.put("D", "d");
Set<String> keySet = map.keySet();
for(String tempKey : keySet){
System.out.println(tempKey + " = " + map.get(tempKey));
}
-> 현재 map에 저장된 key, value에 대한 값을 가져온다.
Set의 값을 뿌려주기 때문에 데이터가 정렬되어 나오진 않는다.
HashMap에 저장하는 키가 되는 객체를 직접 만들었을 경우 유의사항
-> 직접 어떤 클래스를 만들어 그 클래스를 키로 사용할 때에는 Object 클래스의 hashCode() 메소드와 equals() 메소드를 잘 구현해놓아야 한다
-> HashMap에 객체가 들어가면 hashCode() 메소드의 결과 값에 따른 버켓(bucket) 이라는 List 형태의 저장소가 만들어진다. 만약 서로 다른 키가 저장되었는데, hashCode() 메소드의 결과가 동일하다면 이 버켓에 여러개의 값이 들어갈수 잇다. 따라서 get() 메소드가 호출되면 hashCode()의 결과를 확인하고 버켓에 들어간 목록에 데이터가 여러개일경우 equals() 메소드를 호출하여 동일한 값을 찾게 된다.
정렬된 키의 목록을 원한다면 TreeMap 사용
Harrah's Cherokee Casino Resort: Now Open! - Jackson
답글삭제Harrah's Cherokee Casino Resort is open 동두천 출장안마 for business starting Friday, May 12 from 9 a.m. to 3 보령 출장샵 p.m. for 충청북도 출장안마 all casino games. The casino is 태백 출장안마 open 군산 출장안마