[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 | 
						
							
							
							
							
										


