소개:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!