이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 23347|회답: 1

[출처] Java java.util.AbstractMap.SimpleImmutableEntry 자세한 내용

[링크 복사]
게시됨 2021. 11. 10. 오후 5:39:42 | | | |
쌍 또는 쌍은 간단한 키-값 연관을 편리하게 처리하는 방법을 제공하며, 특히 메서드에서 두 값을 반환하고 싶을 때 유용합니다. JDK는 내부 클래스를 포함합니다: AbstractMap.SimpleEntry와 AbstractMap.SimpleImmutableEntry

자바에서의 튜플 사용

https://www.itsvse.com/thread-10055-1-1.html

1. SimpleEntry는 AbstractMap이라는 추상 클래스에서 정의되며, 그 구성 방법은 Pair와 유사합니다.

2. AbstractMap 클래스는 또한 중첩된 클래스를 포함하는데, 이는 불변 쌍인 SimpleImmutableEntry 클래스입니다.

/**
     * 불변의 키와 값을 유지하는 항목.  이 수업
     * 메서드 <tt>setValue</tt>를 지원하지 않습니다.  이 클래스는 다음과 같을 수 있습니다
     * 스레드 안전 스냅샷을 반환하는 메서드에서 편리합니다.
     * 키값 매핑.
     *
     * @since 1.6
     */
    public static class SimpleImmutableEntry<K,V>
        implements Entry<K,V>, java.io.Serializable
    {
        private static final long serialVersionUID = 7138329143949025153L;

        개인 최종 K 키;
        개인 최종 V 값;

        /**
         * 지정된 것에서 매핑을 나타내는 항목을 생성합니다
         * 지정된 값의 키.
         *
         * @param 이 항목이 나타내는 키
         * 이 항목이 나타내는 값을 @param
         */
        public SimpleImmutableEntry(K key, V value) {
            this.key = 키;
            this.value = value;
        }

        /**
         * 다음과 같은 매핑을 나타내는 항목을 생성합니다.
         * 지정된 항목.
         *
         * @param 복사 항목에 입력하세요
         */
        public SimpleImmutableEntry(Entry<? extends K, ? extends V> entry) {
            this.key = entry.getKey();
            this.value = entry.getValue();
        }

        /**
         * 이 항목에 해당하는 키를 반환합니다.
         *
         * @return 이 항목에 해당하는 키입니다
         */
        public K getKey() {
            리턴 키;
        }

        /**
         * 이 항목에 대응하는 값을 반환합니다.
         *
         * @return 이 항목에 해당하는 값
         */
        public V getValue() {
            반환 값;
        }

        /**
         * 이 항목에 해당하는 값을 지정된 대로 대체합니다
         * 값 (선택적 연산).  이 구현은 단순히 던지기 때문입니다
         * 이 클래스가 구현한 <tt>UnsupportedOperationException</tt>
         * <i>변하지 않는</i> 지도 항목.
         *
         * 이 항목에 저장할 새로운 @param 값
         * @return (돌아오지 않음)
         * @throws UnsupportedOperationException 항상
         */
        public V setValue(V 값) {
            throw new UnsupportedOperationException();
        }

        /**
         * 지정된 객체를 이 항목과 동일하게 비교합니다.
         * 반환 {@codetrue} 주어진 객체가 또한 사상 항목이고
         * 두 항목은 동일한 매핑을 나타냅니다.  좀 더 공식적으로는 두 명입니다
         * 항목 {@code E1}와 {@code E2}는 동일한 사상을 나타냅니다
         *면<pre>
         * (e1.getKey()==null ?
         * e2.getKey()==null :
         * e1.getKey().equals(e2.getKey()))
         *   &&
         * (e1.getValue()==null ?
         * e2.getValue()==null :
         * e1.getValue().equals(e2.getValue()))</pre>
         * 이로 인해 {@code equals} 방법이 전반적으로 올바르게 작동함을 보장합니다
         * {@code Map.Entry} 인터페이스의 다양한 구현체.
         *
         * 이 지도 항목과 평등을 비교할 대상@param
         * @return {@code 참} 지정된 객체가 이 사상과 같을 때
         *항목
         * @see #hashCode
         */
        public boolean equals(Object o) {
            만약 (!( o instanceof Map.Entry))
                return false;
            맵.엔트리<?,?> e = (맵 엔트리<?,?>)o;
            반환 eq(key, e.getKey()) && eq(value, e.getValue());
        }

        /**
         * 이 지도 항목의 해시 코드 값을 반환합니다.  해시 코드
         * 는 지도 항목 {@code e}의 다음과 같이 정의된다: <pre>
         * (e.getKey()==null ? 0 : e.getKey().hashCode()) ^
         * (e.getValue()==null ? 0 : e.getValue().hashCode())</pre>
         * 이는 {@code e1.equals(e2)}가 다음을 의미함을 보장합니다.
         * {@code e1.hashCode()==e2.hashCode()} 임의의 두 엔트리에 대해
         * {@code e1} 및 {@code e2}, 일반 명령에 따라
         * {의 계약@link객체#hashCode}.
         *
         * 이 지도 항목의 해시 코드 값을 @return
         * @see #equals
         */
        공개 int hashCode() {
            return (키 == null ? 0 : key.hashCode()) ^
                   (value == null ? 0 : value.hashCode());
        }

        /**
         * 이 맵 항목의 문자열 표현을 반환합니다.  이
         * 구현은 이 표현의 문자열 표현을 반환합니다
         * 항목의 키 뒤에 같은 문자("<tt>=</tt>")가 붙는다.
         * 뒤에 이 항목의 값을 문자열로 표현합니다.
         *
         * @return 이 지도 항목의 문자열 표현
         */
        public String toString() {
            반환 키 + "=" + 값;
        }

    }

SimpleImmutableEntry는 setValue 메서드를 호출하여 값을 수정하려 하면 java.lang을 던집니다.지원되지 않는 운영 예외비정상적인.



코드:







이전의:자바는 전쟁 패키지의 구성 파일을 수정합니다
다음:Docker를 사용하여 Elasticsearch 서비스를 배포하세요
게시됨 2021. 11. 11. 오전 8:48:42 |
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com