고유 키 없이 Java에서 값 쌍을 어떻게 저장할 수 있습니까?
Jan 05, 2025 pm 09:51 PM값 쌍을 위한 Java 컬렉션: 튜플?
소개:
Java에서 데이터 구조로 작업할 때 다음과 같은 문제를 자주 접하게 됩니다. 고유한 유형의 값 쌍을 저장하는 컬렉션이 필요합니다. Java는 이러한 목적으로 맵을 제공하지만 각 항목에 대해 고유 키를 적용하지만 이는 항상 바람직하지 않을 수 있습니다. 이 기사에서는 값 쌍을 저장하기 위한 대체 솔루션인 AbstractMap.SimpleEntry.
답변:
AbstractMap.SimpleEntry는 값 쌍을 나타내는 데 편리한 클래스입니다. Map.Entry 인터페이스를 구현하여 키와 값에 액세스하고 수정하기 위한 메서드를 제공합니다. 그러나 Maps와 달리 SimpleEntry는 각 쌍에 대해 고유 키를 요구하지 않습니다.
구현:
AbstractMap.SimpleEntry를 사용하려면 SimpleEntry 객체의 ArrayList를 생성할 수 있습니다. , 인스턴스화 시 키와 값의 유형을 지정합니다. 예는 다음과 같습니다.
java.util.List<java.util.Map.Entry<String, Integer>> pairList = new java.util.ArrayList<>(); // Create and add pairs to the list java.util.Map.Entry<String, Integer> pair1 = new java.util.AbstractMap.SimpleEntry<>("Not Unique key1", 1); java.util.Map.Entry<String, Integer> pair2 = new java.util.AbstractMap.SimpleEntry<>("Not Unique key2", 2); pairList.add(pair1); pairList.add(pair2);
사용자 정의:
편의성을 높이기 위해 쉽게 생성하고 추가할 수 있는 "of" 메서드를 제공하는 ArrayList의 하위 클래스를 생성할 수 있습니다. 목록에 쌍을 추가합니다. 이는 구문을 더욱 단순화합니다.
public class TupleList<T> extends ArrayList<T> { public static <S, U> TupleList<Map.Entry<S, U>> of(S key, U value) { Map.Entry<S, U> pair = new AbstractMap.SimpleEntry<>(key, value); TupleList<Map.Entry<S, U>> tupleList = new TupleList<>(); tupleList.add(pair); return tupleList; } } // Usage TupleList<Map.Entry<String, Integer>> pair = new TupleList<>(); pair.of("Not Unique key1", 1); pair.of("Not Unique key2", 2);
AbstractMap.SimpleEntry를 활용하면 개발자는 키 고유성 제약 없이 순서를 유지하면서 다양한 유형의 쌍으로 데이터를 효율적으로 저장할 수 있습니다.
위 내용은 고유 키 없이 Java에서 값 쌍을 어떻게 저장할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Java의 클래스로드 메커니즘은 다른 클래스 로더 및 대표 모델을 포함하여 어떻게 작동합니까?

2025 년 상위 4 개의 JavaScript 프레임 워크 : React, Angular, Vue, Svelte

고급 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 또는 Gradle을 어떻게 사용합니까?

캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA (Java Persistence API)를 어떻게 사용하려면 어떻게해야합니까?

카페인 또는 구아바 캐시와 같은 라이브러리를 사용하여 자바 애플리케이션에서 다단계 캐싱을 구현하려면 어떻게해야합니까?
