[Java] HashMap 정리
[Java] HashMap 정리
▼ HashMap
HashMap은 Map을 구현한다.
Key와 value를 묶어 하나의 entry로 저장한다는 특징을 갖는다.
그리고 hashing을 사용하기 때문에 많은양의 데이터를 검색하는데 뛰어난 성능을 보인다.
Map 인터페이스의 한 종류로 ( "Key", value) 로 이뤄져 있다.
key 값을 중복이 불가능 하고 value는 중복이 가능.
value에 null값도 사용 가능하다.
멀티쓰레드에서 동시에 HashMap을 건드려 Key - value값을 사용하면 문제가 될 수 있다. 멀티쓰레드에서는 HashTable을 쓴다
생성자 / 메서드 | 설명 |
HashMap() | - HashMap 객체를 생성 ex) HashMap<String , Integer> map = new HashMap<String , Integer>(); Map<String, Integer> map = new HashMap<String, integer>(); |
HashMap(int initlalCapacity) | - 지정된 값을 초기 용량으로 하는 HashMap객체를 생성한다. |
HashMap(int initlalCapacity, float loadFactory) | - 지정된 값을 초기용량과 load factory의 HashMap 객체를 생성한다. |
HashMap(Map m) | - 주어진 Map에 저장된 모든 요소를 포함하는 HashMap을 생성한다. |
void clear() | - HashMap에 저장된 모든 객체를 제거한다. ex) map.clear(); |
Object clone() | - 현재 HashMap을 복제하여 반환한다. ex) newmap = (HashMap)map.clone(); |
boolean containsKey(Object Key) | - HashMap에 지정된 키(Key)가 포함되어 있는지 알려준다. |
boolean containsValue(Object Value) | - HashMap에 지정된 값(Value)가 포함되어 있는지 알려준다. |
Set entrySet() | - HashMap에 저장된 Key - Value갑슬 엔트리(키와 값을 결합)의 형태로 Set에 저장하여 반환 ex) map.put("A", 1); map.put("B", 2); map.put("C", 3); Set set = map.entrySet(); System.out.println("set values are" + set); (result) set values : [A=1,B=2,C=3] |
Object get(Object Key) | - 지정된 Key 의 값을 반환한다. ex) map.put("A", 1); map.put("B", 2); map.put("C", 3); String val = (String)map.get("B"); System.out.println("Value for key B is: " + val);
(result) Value for key B is 2 |
bloolean isEmpty | - HashMap이 비어있는지 확인한다. ex) boolean val = map.isEmpty(); |
Set keySet() | - HashMap에 저장된 모든 키가 저장된 Set을 반환한다. ex) map.put("A", 1); map.put("B", 2); map.put("C", 3); Set keyset = map.keySet(); System.out.println("Key set values are" + keyset); (result) Key set values are [A,B,C] |
Object put(Object Key, Object Value) | - HashMap에 키와 값을 저장. ex) map.put("A", "aaa"); map.put("B", "bbb"); map.put("C", "ccc"); |
void putAll(Map m) | - Map에 해당하는 모든 요소를 HashMap에 저장한다. |
Object remove(Object Key) | - HashMap에서 지정된 키로 지정된 값을 제거한다. ex) map.remove("key"); |
int size() | - HashMap에 저장된 요소의 개수를 반환한다. |
Collection values() | - HashMap에 저장된 모든 값을 컬렉션 형태로 반환한다. |
▼ HashMap 사용 예
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | package test; import java.util.*; import java.util.Map.Entry; public class HashTest { public static void main(String[] args) { HashMap<String, Integer> strudyMap = new HashMap(); strudyMap.put("국어", 73); strudyMap.put("영어", 92); strudyMap.put("수학", 88); // keySet()_모든 Key값 출력 // values()_모든 Value값 출력 System.out.println( strudyMap.keySet() ); System.out.println( strudyMap.values() ); // get()_Key에 해당하는 Value를 출력한다. //System.out.println( strudyMap.get("수학") ); // HashMap에 넣은 Key와 Value를 Set에 넣고 iterator에 값으로 Set정보를 담에 준다. //Set<Entry<String, Integer>> set = strudyMap.entrySet(); //Iterator<Entry<String, Integer>> itr = set.iterator(); //위의 내용을 한줄로 줄임 Iterator itr = strudyMap.entrySet().iterator(); while (itr.hasNext()) { // 맵으로 해당 아이터레이터정보를 받아와정리 Map.Entry<String, Integer> e = (Map.Entry<String, Integer>)itr.next(); //데이터를뿌려줌 System.out.println("과목 : " + e.getKey() +" || " +"점수 : " + e.getValue() + "점"); } } } | cs |
'Program > Java' 카테고리의 다른 글
[Java] Collection - Iterator 란? (0) | 2019.03.22 |
---|---|
[Java] String을 Json 객체로 변경하는법 (0) | 2019.02.26 |
[Java] 문자열 바이트로 자르기 (0) | 2019.01.29 |
[JAVA] 배열 선언 및 랜덤 함수 활용 (0) | 2018.03.05 |
[Spring] Spring Security로 사용자 정보 찾기 (0) | 2017.11.09 |