Map(key,value)의 value에 여러 값을 넣는법.
public class MapTest {
public static void main(String[] args) {
Map<String, List<String>> multivalue = new HashMap<>();
multivalue.put("공정하다는 착각", Arrays.asList("마이클 샌델", "9788932920337", "능력주의의 한계를 지적하며, 진정한 공정함이 무엇인지에 대해 깊이 있게 탐구한 책입니다."));
multivalue.put("정의론", Arrays.asList("존 롤스", "9788932473567", "사회적 정의의 원칙을 제시하며, 공정한 사회를 구축하기 위한 철학적 기반을 마련한 고전적인 작품입니다."));
multivalue.put("도덕감정론", Arrays.asList("애덤 스미스", "9788932471235", "인간의 도덕적 판단과 감정에 대한 통찰을 제공하며, 사회적 윤리의 기초를 탐구한 책입니다."));
Set<String> key = multivalue.keySet();
for (String printMap : key){
System.out.println("key : "+printMap + "value : " + multivalue.get(printMap));
System.out.println();
}
}
}
- 제네릭<> 안의 value가 받을 수 있는 값의 타입을 여러 값을 순서에 따라 받을 것이기에 List를 사용해 주고, List의 제네릭<> 안에는
문자열 값을 받을 것이기에 String을 명시해 준다.Map<String, List<String>> multivalue = new HashMap<>();
- Arrays.asList()를 사용하여 여러 값을 받는다.
multivalue.put("공정하다는 착각", Arrays.asList("마이클 샌델", "9788932920337", "능력주의의 한계를 지적하며, 진정한 공정함이 무엇인지에 대해 깊이 있게 탐구한 책입니다."));
- 아래와 같이 Map을 출력하면 복수의 Value 값이 나오는 결과를 볼 수 있다.
Set
for (String printMap : key){
System.out.println("key : "+printMap + "value : " + multivalue.get(printMap));
System.out.println();
}
//출력 :
key : 공정하다는 착각value : [마이클 샌델, 9788932920337, 능력주의의 한계를 지적하며, 진정한 공정함이 무엇인지에 대해 깊이 있게 탐구한 책입니다.]
key : 도덕감정론value : [애덤 스미스, 9788932471235, 인간의 도덕적 판단과 감정에 대한 통찰을 제공하며, 사회적 윤리의 기초를 탐구한 책입니다.]
key : 정의론value : [존 롤스, 9788932473567, 사회적 정의의 원칙을 제시하며, 공정한 사회를 구축하기 위한 철학적 기반을 마련한 고전적인 작품입니다.]
- 주의 사항
- Arrays.asList()를 사용하여 여러 값을 받는다. 여기서 주의할 점은 asList()는 배열을 고정 크기 리스트로 변환한다.
'자바 > 자바 문법' 카테고리의 다른 글
자바 throw 키워드 기초 이해. (0) | 2025.01.14 |
---|---|
자바 try-catch (0) | 2025.01.14 |
증감 연산자 팁 (0) | 2024.12.31 |
Main 메서드 (0) | 2024.12.27 |
조건문 (0) | 2024.12.26 |