키당 여러 값을 저장하는 HashMap
HashMap은 키를 값에 매핑하는 데 널리 사용되는 데이터 구조입니다. 그러나 일반적으로 각 키에 대해 단일 값을 저장하도록 설계되었습니다. 이러한 제한은 동일한 키에 여러 값을 저장해야 하는 실제 요구 사항과 항상 일치하지 않을 수도 있습니다.
HashMap에서 여러 값을 구현하는 방법
키당 정확히 두 개의 값을 저장해야 하는 경우 여러 가지 접근 방식을 사용할 수 있습니다. 고려됨:
구현 예
목록 사용 값:
// Initialize the HashMap Map<String, List<Person>> peopleByForename = new HashMap<>(); // Populate the HashMap List<Person> people = new ArrayList<>(); people.add(new Person("Bob Smith")); people.add(new Person("Bob Jones")); peopleByForename.put("Bob", people); // Retrieve values List<Person> bobs = peopleByForename.get("Bob"); Person bob1 = bobs.get(0); Person bob2 = bobs.get(1);
사용 래퍼 클래스:
// Define the wrapper class class Wrapper { private Person person1; private Person person2; public Wrapper(Person person1, Person person2) { this.person1 = person1; this.person2 = person2; } public Person getPerson1() { return person1; } public Person getPerson2() { return person2; } } // Initialize the HashMap Map<String, Wrapper> peopleByForename = new HashMap<>(); // Populate the HashMap peopleByForename.put("Bob", new Wrapper(new Person("Bob Smith"), new Person("Bob Jones"))); // Retrieve values Wrapper bobs = peopleByForename.get("Bob"); Person bob1 = bobs.getPerson1(); Person bob2 = bobs.getPerson2();
튜플 클래스 사용:
// Initialize the HashMap Map<String, Tuple2<Person, Person>> peopleByForename = new HashMap<>(); // Populate the HashMap peopleByForename.put("Bob", new Tuple2<>(new Person("Bob Smith"), new Person("Bob Jones"))); // Retrieve values Tuple2<Person, Person> bobs = peopleByForename.get("Bob"); Person bob1 = bobs.Item1; Person bob2 = bobs.Item2;
위 내용은 HashMap에 키당 여러 값을 어떻게 저장할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!