티스토리 뷰

Java/개념

JAVA/HashMap/Hashtable/Hashing

정복잉 2020. 5. 30. 14:50
반응형
package day16;

import java.util.HashMap;
import java.util.Map;

public class Test4 {
	public static void main(String[] args) {
		HashMap<Integer, String> map = new HashMap<Integer, String>();//순서개념 없음
		map.put(112,"경찰서");
		map.put(119, "소방서");
		map.put(114, "KT");
		System.out.println(map);
		map.put(112,"Police"); //중복시 전에 있던 값을 덮는다.
//		map.clear(); //map의 전체를 지운다.
//		map.remove(119);  //key만 가능 or key와value 값 둘다로 해야함
				
		for(Integer num : map.keySet()) {
			System.out.println(num+map.get(num));
		}
		System.out.println("============");
		for(Map.Entry<Integer,String>s:map.entrySet()) {
			System.out.println(s.getKey()+s.getValue());
		}
	}

}

 

※개념정리

 

Map?

키(key)와 값(value)을 가지는 데이터 집단으로,

순서가 유지되지 않으며 키의 데이터 중복을 허용하지 않는다. 하지만 값의 데이터 중복은 허용한다.

 

Hashing?

해싱함수을 이용하여 데이터를 해시테이블에 저장 및 검색하는 기법

 

HashMap구조?

Map<key,value> 매개변수 = new HashMap<key,value>( );

*key와value는 매개타입변수

Map<String,Double> map = new HashMap <String,Double>( );

 

HashMap 기본메소드

map.put = 객체추가 / set과 같다. / 덮는다.

map.remove = 객체삭제

 

Map 반복문을 통해 전체 보는 방법

기본
for(key의 매개타입변수 매개변수 : Map매개변수.keySet( )){
syso(매개변수 + Map매개변수.get(num));
}
for(Integer num : map.keySet( )){
syso(num + map.get(num));
}
Entry 사용
for(Map.Entry<key,value>매개변수: Map매개변수.entrySet()){
syso(매개변수.getKey( )+매개변수.getValue( ));
}
for(Map.Entry<String,Integer>s : map.entrySet( )){
syso(s.getKey( )+s.getValue( ));
}

map.get(num)?

num만 넣을 경우 key 값만 출력

map.get(num)=value

댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/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
글 보관함