-Map은 키와 값으로 구성된 Entry객체를 저장하는 구조를 가지고 있는 자료구조
-Hash 이름처럼 대용량 데이터를 다루기에 적합
■ HashMap 선언하기
HashMap<String, String> map = new HashMap<String,String>();
HashMap<String, Integer> map2 = new HashMap<String,Integer>();
HashMap<String,String> map3 = new HashMap<String,String>() {put("a","b");}; // 초기값 설정
■ HashMap 값 넣기 : put(key, value)
HashMap<String, String> map = new HashMap<String,String>();
map.put(key,value)
■ HashMap 삭제하기
전체삭제는 clear() 사용,
값 제거는 remove(key) 사용, 오로지 key값으로만 삭제 가능
■ HashMap 출력하기
map.get(key) : key의 value값 얻기
전체 출력시 : entrySet()이나 keySet() 사용
*entrySet() : key와 value 모두 필요한 경우 사용 (대량 데이터 필요시 좋음)
*keySet() : key값만 필요한 경우 사용 -> get(key)로 value 얻을 수 있다.
*ex1. entrySet() 사용:
for (Entry<Integer, String> entry : map.entrySet())
{ System.out.println("key=="+ entry.getKey() + "Value==" + entry.getValue());}
*ex2. keySet() 사용: for(Integer i : map.keySet()) { System.out.println("key=="+ i + "Value==" + map.get(i);}
■ size() : 사이즈 구하기
■ containsKey 함수 : 키를가지고 있는지 확인
hm.containsKey(4); // true or false
■ containsValue 함수 : 값을가지고 있는지 확인
hm.containsValue("java"); // true or false
■ getOrDefualt
hm.put("성공횟수", hm.getOrDefualt("성공횟수",0)+1); //성공 횟수를 가져온다. 없을경우 디폴트를 0으로 하고, 1씩 증가
■ HashSet -> 중복을 허용하지 않음, 값 셋팅시 add사용
#자료구조