티스토리 뷰

Java

JAVA - HashMap

장진혁 2023. 2. 16. 21:08

 

HashMap 선언

HashMap<String,String> map2 = new HashMap<>();//new에서 타입 파라미터 생략가능
HashMap<String,String> map4 = new HashMap<>(10);//초기 용량(capacity)지정

HashMap 값 추가

map.put(Key,value); //값 추가

// map.getOrDefault(ps,0)+1
// ps키의 값을 가지고오는데 값이 없으면 0을 리턴 (0+1해서 1을 넣어줌)
for (String ps : participant){
	map.put(ps,map.getOrDefault(ps,0)+1);
    
// map.get(cs)-1
// cs키의 값을 가지고와서 -1한 다음 0을 넣음
for (String cs : completion){
	map.put(cs,map.get(cs)-1);

HashMap 값 출력

 - entrySet이 KeySet보다 시간이 많이 소요되므로 많은 양의 데이터가 필요하면 entrySet() 이 좋다고 한다.

for (Map.Entry<String, Integer> entry : map.entrySet()){
	if (entry.getValue()!=0) {
		answer += entry.getKey();
        
        
System.out.println(map); //전체 출력 : {1=사과, 2=바나나, 3=포도}
System.out.println(map.get(1));//key값 1의 value얻기 : 사과

//entrySet() 활용
for (Entry<Integer, String> entry : map.entrySet()) {
    System.out.println("[Key]:" + entry.getKey() + " [Value]:" + entry.getValue());
}

//KeySet() 활용
for(Integer i : map.keySet()){ //저장된 key값 확인
    System.out.println("[Key]:" + i + " [Value]:" + map.get(i));
}

HashMap 값 출력 - Iterator 사용

//entrySet().iterator()
Iterator<Entry<Integer, String>> entries = map.entrySet().iterator();
while(entries.hasNext()){
    Map.Entry<Integer, String> entry = entries.next();
    System.out.println("[Key]:" + entry.getKey() + " [Value]:" +  entry.getValue());
    
    //keySet().iterator()
Iterator<Integer> keys = map.keySet().iterator();
while(keys.hasNext()){
    int key = keys.next();
    System.out.println("[Key]:" + key + " [Value]:" +  map.get(key));

 

 

 

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

public class ex20 { // 완주하지 못한 선수
    public static String solution(String[] participant, String[] completion) {
        String answer = "";

        HashMap<String, Integer> map = new HashMap<>();
        // map.getOrDefault(ps,0)+1
        // ps키의 값을 가지고오는데 값이 없으면 0을 리턴 (0+1해서 1을 넣어줌)
        for (String ps : participant){
            map.put(ps,map.getOrDefault(ps,0)+1);
        }
        // map.get(cs)-1
        // cs키의 값을 가지고와서 -1한 다음 0을 넣음
        for (String cs : completion){
            map.put(cs,map.get(cs)-1);
        }
        for (Map.Entry<String, Integer> entry : map.entrySet()){
            if (entry.getValue()!=0) {
                answer += entry.getKey();
                break;
            }
        }
        return answer;
    }

    public static void main(String[] args) {
        String[] participant = {"leo", "kiki", "eden"};
        String[] completion = {"eden", "kiki"};
        System.out.println(solution(participant, completion));
    }
}

 

 

 

 

 

 

 

참고사이트 - 참고자료

https://coding-factory.tistory.com/556

 

[Java] 자바 HashMap 사용법 & 예제 총정리

HashMap 이란? HashMap은 Map 인터페이스를 구현한 대표적인 Map 컬렉션입니다. Map 인터페이스를 상속하고 있기에 Map의 성질을 그대로 가지고 있습니다. Map은 키와 값으로 구성된 Entry객체를 저장하는

coding-factory.tistory.com

 

'Java' 카테고리의 다른 글

JAVA - int형 숫자 자릿수 구하기  (0) 2023.02.16
JAVA - 문자열자르기(split, substring)  (0) 2023.02.16
프로그래밍 기초 #2  (0) 2023.02.14
프로그래밍 기초 #1  (0) 2023.02.13
JAVA - Math 클래스와 문자열의 비교  (0) 2023.02.13
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
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
글 보관함