1. 개요

이 사용방법(예제)에서는 Java List 내에 HashMap 을 저장하는 방법에 대해 설명합니다 . 먼저 Java 의 HashMap 및  List 데이터 구조에 대해 간단히 설명하겠습니다 . 그런 다음 문제를 해결하기 위해 간단한 코드를 작성합니다.

2. Java의 HashMapList

Java는 객체를 저장하기 위해 다양한 속성과 특성을 가진 다양한 데이터 구조를 제공합니다. 그 중 HashMap 은 고유한 키를 값에 매핑하는 키-값 쌍의 모음입니다. 또한 List 에는 동일한 유형의 개체 시퀀스가 ​​있습니다.

이러한 데이터 구조에 간단한 값이나 복잡한 객체를 넣을 수 있습니다.

3. List 안에 HashMap<String, ArrayList<String>> 저장

HashMaps List 을  만드는 간단한 예를 들어 보겠습니다. 각 책 범주에는 책 이름을 저자에게 매핑 하는 HashMap 이 있습니다.

먼저  Java 관련 책의 이름을 저자 List에 매핑하는 javaB ookAuthorsMap 을 정의합니다.

AdChoices
광고
HashMap<String, List<String>> javaBooksAuthorsMap = new HashMap<>();

또한 phpBooksAuthorsMap 을 정의  하여 PHP 범주에 대한 책의 이름과 저자를 보유합니다.

HashMap<String, List<String>> phpBooksAuthorsMap = new HashMap<>();

그런 다음 다른 범주에 대한 HashMap 을 보유하도록 booksAuthorsMapsList 를 정의합니다  .

List<HashMap<String, List<String>>> booksAuthorsMapsList = new ArrayList<>();

이제 두 개의 HashMaps 를 포함 하는 List 가 있습니다 .

이를 테스트하기 위해 javaB ookAuthorsMap phpBooksAuthorsMap List 에 책 정보를 넣을 수 있습니다 . 그런 다음 booksAuthorsMapsList에 추가합니다. 마지막으로 HashMaps 가 List에 추가  되었는지 확인합니다  .

아래에서 단위 테스트를 살펴보겠습니다.

AdChoices
광고
@Test
public void givenMaps_whenAddToList_thenListContainsMaps() {
    HashMap<String, List<String>> javaBooksAuthorsMap = new HashMap<>();
    HashMap<String, List<String>> phpBooksAuthorsMap = new HashMap<>();
    javaBooksAuthorsMap.put("Head First Java", Arrays.asList("Kathy Sierra", "Bert Bates"));
    javaBooksAuthorsMap.put("Effective Java", Arrays.asList("Joshua Bloch"));
    javaBooksAuthorsMap.put("OCA Java SE 8",
      Arrays.asList("Kathy Sierra", "Bert Bates", "Elisabeth Robson"));
    phpBooksAuthorsMap.put("The Joy of PHP", Arrays.asList("Alan Forbes"));
    phpBooksAuthorsMap.put("Head First PHP & MySQL",
    Arrays.asList("Lynn Beighley", "Michael Morrison"));

    booksAuthorsMapsList.add(javaBooksAuthorsMap);
    booksAuthorsMapsList.add(phpBooksAuthorsMap);

    assertTrue(booksAuthorsMapsList.get(0).keySet()
      .containsAll(javaBooksAuthorsMap.keySet().stream().collect(Collectors.toList())));
    assertTrue(booksAuthorsMapsList.get(1).keySet()
      .containsAll(phpBooksAuthorsMap.keySet().stream().collect(Collectors.toList())));
}

4. 결론

이 기사에서 우리는 Java의 List 내에 HashMaps를 저장하는 방법에 대해 이야기했습니다. 그런 다음 Two book category 의 List<String> 에 HashMap<String, ArrayList<String>>추가하는 간단한 예제를 작성했습니다 .

예제는 GitHub에서 사용할 수 있습니다 .

Generic footer banner