티스토리 뷰

Language/Java

[Java] HashMap 사용하기

KoB 2020. 12. 30. 23:04

https://www.edureka.co/blog/wp-content/uploads/2019/09/img-recreate-01-1.jpg

 

항상 볼때마다 너무 헷갈려서 글로 써봅니다.

 

l HashMap

 

HashMap이란 Map 인터페이스 종류로써 key와 value 형태로 데이터를 저장하는 구조를 가집니다. 그리고 이름에서 알수 있듯이 hashing(해싱)은 많의 양의 데이터를 검색하는 데 있어서 뛰어난 성능 보여준다고 합니다.

 

해싱이란??

 

https://t1.daumcdn.net/cfile/tistory/99CA99335989712D33

 

대부분의 탐색 방법들은 탐색 키를 저장된 키 값과 반복적으로 비교하면서 탐색을 원하는 항목에 접근합니다. 해싱은 키 값에 직접 산술적인 연산을 적용하여 항목이 저장되어 있는 테이블의 주소를 계산하여 항목에 접근합니다. 이렇듯 키 값의 연산에 의해 직접 접근이 가능한 구조해시 테이블이라 하고, 해시 테이블을 이용해 탐색하는 방법을 해싱이라고 합니다.

 

key는 중복되면 안되지만 만약 중복된다면 최근 key로 대체됩니다. value는 얼마든지 중복이 가능합니다.

 


l 자바에서 간단한 HashMap 사용해보기

 

package sec01.seco1;

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

public class hashMap {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		HashMap<String, String> map = new HashMap<String, String>();
		
		
		map.put("a","에이");
		map.put("b","비");
		map.put("c","씨");
		
		System.out.println(map.get("a")); 
		System.out.println(map);
	}

}

 

 

put 과 get 을 이용하여 Map에 쉽게 객체를 저장하고 가져올수 있습니다.

 


ㅣHashMap에서 반복문 사용해보기

 

첫번째 방법

package sec01.seco1;

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

public class hashMap {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		HashMap<String, String> map = new HashMap<String, String>();
		
		
		map.put("a","에이");
		map.put("b","비");
		map.put("c","씨");
		

		
		
		System.out.println(map.keySet());
		for(String key : map.keySet()) {
			System.out.println("Key => " + key + "	Value => " + map.get(key));
		}

	}

}

 


두번째 방법

 

package sec01.seco1;

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

public class hashMap {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		HashMap<String, String> map = new HashMap<String, String>();
		
		
		map.put("a","에이");
		map.put("b","비");
		map.put("c","씨");
		

		System.out.println(map.entrySet());
		for(HashMap.Entry<String, String> entry : map.entrySet()) {
			System.out.println("[key]:" + entry.getKey() + ", [value]:" + entry.getValue());
		}
	}

}

 


세번째 방법

 

Map 컬렉션은 Iterator 인터페이스를 사용할 수 없기 때문에 HashMap에 entrySet(), keySet() 메소드를 사용하여 Set 객체를 반환 받은 후 Iterator 인터페이스를 사용해야합니다.

 

package sec01.seco1;

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

public class hashMap {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		HashMap<String, String> map = new HashMap<String, String>();
		
		
		map.put("a","에이");
		map.put("b","비");
		map.put("c","씨");
		

		Iterator<HashMap.Entry<String, String>> itE = map.entrySet().iterator();
		while(itE.hasNext()) {
			HashMap.Entry<String, String> entry = (HashMap.Entry<String, String>) itE.next();			
			System.out.println("[key]:" + entry.getKey() + ", [value]:" + entry.getValue());
		}

	}

}

 

 


네번째방법

 

package sec01.seco1;

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

public class hashMap {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		HashMap<String, String> map = new HashMap<String, String>();
		
		
		map.put("a","에이");
		map.put("b","비");
		map.put("c","씨");
		

		System.out.println("---------------------------------");
		Iterator<String> itK = map.keySet().iterator();
		while(itK.hasNext()) {
			String key = itK.next();
			System.out.println("[key]:" + key + ", [value]:" + map.get(key));
		}
	
	}

}

 

 

 

읽어주셔서 감사합니다.

질문은 언제나 환영합니다.

 

"난 반드시 백엔드 왕이 될거야"

댓글
댓글쓰기 폼
공지사항
Total
248,427
Today
802
Yesterday
1,065
링크
«   2022/10   »
            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          
글 보관함