자바/자바 문법

컬렉션 Map의 값 여러 개 넣는 법.

Blue_bull 2025. 1. 13. 10:24

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();
        }

    }

}
  1. 제네릭<> 안의 value가 받을 수 있는 값의 타입을 여러 값을 순서에 따라 받을 것이기에 List를 사용해 주고, List의 제네릭<> 안에는
    문자열 값을 받을 것이기에 String을 명시해 준다.
    Map<String, List<String>> multivalue = new HashMap<>();
  2. Arrays.asList()를 사용하여 여러 값을 받는다.
    multivalue.put("공정하다는 착각", Arrays.asList("마이클 샌델", "9788932920337", "능력주의의 한계를 지적하며, 진정한 공정함이 무엇인지에 대해 깊이 있게 탐구한 책입니다."));
  3. 아래와 같이 Map을 출력하면 복수의 Value 값이 나오는 결과를 볼 수 있다.

Set key = multivalue.keySet();
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