1. 개요
이 사용방법(예제)에서는 Java 의 List 내에 HashMap 을 저장하는 방법에 대해 설명합니다 . 먼저 Java 의 HashMap 및 List 데이터 구조에 대해 간단히 설명하겠습니다 . 그런 다음 문제를 해결하기 위해 간단한 코드를 작성합니다.
2. Java의 HashMap 및 List
Java는 객체를 저장하기 위해 다양한 속성과 특성을 가진 다양한 데이터 구조를 제공합니다. 그 중 HashMap 은 고유한 키를 값에 매핑하는 키-값 쌍의 모음입니다. 또한 List 에는 동일한 유형의 개체 시퀀스가 있습니다.
이러한 데이터 구조에 간단한 값이나 복잡한 객체를 넣을 수 있습니다.
3. List 안에 HashMap<String, ArrayList<String>> 저장
HashMaps List 을 만드는 간단한 예를 들어 보겠습니다. 각 책 범주에는 책 이름을 저자에게 매핑 하는 HashMap 이 있습니다.
먼저 Java 관련 책의 이름을 저자 List에 매핑하는 javaB ookAuthorsMap 을 정의합니다.
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에 추가 되었는지 확인합니다 .
아래에서 단위 테스트를 살펴보겠습니다.
@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에서 사용할 수 있습니다 .