티스토리 뷰
HashMap 사용하는 도중, 1개의 Key값에 여러 개의 Value값을 가지고 싶었다.
사용하고 싶은데 구현 방법을 잘 몰랐다.
바보같이
map.put("A",map.getOrDefault("A",new PriorityQueue<Point>());
대강 이렇게 짠 것 같았다..
그리고.. 저걸 어떻게 벨류 값을 넣지?라는 고민에 왕왕 빠져있었다... ㅠ____ㅠ
저렇게 하면 당연히 못 넣음.. 그리고 저기에 pq.offer(new Point(값)) 넣어도 문법 에러남
위에 말은 무시하기!!
import java.util.*;
static class Point {
int r;
int c;
public Point(int r, int c) {
this.r = r;
this.c = c;
}
}
public static void main(String[] args) {
HashMap<String, ArrayList<Point>> map = new HashMap<>();
map.put("a", new ArrayList<>());
map.put("b", new ArrayList<>());
System.out.println(map);
map.get("a").add(new Point(1, 2));
map.get("a").add(new Point(7, 8));
map.get("b").add(new Point(100,200));
map.get("b").add(new Point(300,600));
for (String i : map.keySet()) {
System.out.println(i);
for (int j = 0; j < map.get(i).size(); j++) {
System.out.print(map.get(i).get(j).r + " " + map.get(i).get(j).c);
System.out.println();
}
}
}
결과
이런 식으로 구현하면 된다.
map.put 으로 넣어주는게 아니라 map.get(키). add(넣고싶은 값) 키 값 찾고, 그 뒤에 값 추가하는 방식으로 구현하기
.add(offer) 에서 offer 부분은 Value를 여러개로 관리하고 싶은 자료구조를 사용하면 된다.
필자는 여기서 객체 ArrayList로 Value 값을 여러개 사용할 수 있게 관리해줬음.
리스트가 아니라 Value를 관리하고 싶은 것으로 선언하고 뒤에 해당 문법에 맞게 고쳐주면 된댜.
'Java is my life > 공부하다 지식공유' 카테고리의 다른 글
Java Collection (0) | 2022.10.21 |
---|---|
메서드 반환타입 void와 return; (0) | 2022.10.06 |
2차원 배열 리스트 (0) | 2022.10.02 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 할인행사 자바
- JAVA 컬랙션
- JAVA 할인행사
- 마법사상어와 파이어볼
- Java 멀리 뛰기
- 유데미
- level2 롤케이크 자르기
- AI교육
- 정보통신산업진흥원
- HashMap 자바
- 프로그래머스 할인행사
- 16234 마법사 상어와 파이어볼
- AI캠프
- 서울ICT이노베이션
- java 마법사 상어와 파이어볼
- java 멀티버스
- 프로그래머스 롤케이크자르기
- NIPA
- 백준 멀티버스 자바
- 18868 멀티버스 java
- AI-WEB 교육
- 백엔드
- IT개발캠프
- 자바 return
- 1개 Key 여러개 Value
- 메서드형 void
- 멀티버스 java
- 멀리 뛰기 자바
- 프론트엔드
- 플그 멀리 뛰기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함