JAVA - HashMap (코드리뷰필요)

Luna·2023년 1월 26일
0

JAVA

목록 보기
14/32

예제

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

public class HashMapExample1 {

	public static void main(String[] args) {

		// Map 생성 Map<key, data> -> Map<이름, 점수>
		Map<String, Integer> map = new HashMap<String, Integer>();

		// 데이터를 작성해서 Map에 저장
		// key가 같으면 덮어쓰기가 된다. key가 중복이 되면 안된다.
		map.put("신용권", 85);
		map.put("홍길동", 90);
		map.put("동장군", 80);
		map.put("홍길동", 95);
		System.out.println("총 Entyry 수 : " + map.size());

		// 데이터 꺼내기 - key를 알고 있어야 한다. key와 매칭이 되는 date를 꺼내게 된다.
		// 홍길동의 점수를 가져오기.
		System.out.println("\t홍길동 : " + map.get("홍길동"));
		System.out.println();

		// 각각의 모든 데이터를 처리하는 코드
		// 가지고 있는 모든 키를 꺼내오기
		Set<String> keySet = map.keySet();
		Iterator<String> keyIterator = keySet.iterator();

		// key를 이용해서 for나 while을 돌려서 모든 데이터 처리나 출력 -> hasNext()
		// Iterator.hasNext() : 다음 데이터가 있으면 true가 나온다.
		while (keyIterator.hasNext()) {
			String key = keyIterator.next();
			Integer value = map.get(key);
			System.out.println("\t" + key + " : " + value);
		}

		System.out.println();

		map.remove("홍길동");
		System.out.println("총 Entry 수 : " + map.size());
		
		// Set안에 저장 구조가 Entry<String, Integer> 되어 있는 한개의 데이터를 저장한다.
		Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
		Iterator<Map.Entry<String, Integer>> entryIterator = entrySet.iterator();

		// 다음 데이터가 존재하면 출력한다. -> 모든 데이터 출력
		while (entryIterator.hasNext()) {
			Map.Entry<String, Integer> entry = entryIterator.next();
			String key = entry.getKey();
			Integer value = entry.getValue();
			System.out.println("\t" + key + " : " + value);
		}

		System.out.println();

		// 모두 지우기
		map.clear();
		System.out.println("총 Entry 수 : " + map.size());
	}
}

0개의 댓글