この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 22637|答える: 1

[出典] Java java.util.AbstractMap.SimpleImmutableEntry 詳細

[リンクをコピー]
2021年11月10日 17:39:42に投稿 | | | |
ペア、またはペアは、単純なキー-値の関連付けを扱う便利な方法を提供し、特にメソッドから2つの値を返したい場合に便利です。 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静的final長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 value) {
            throw new UnsupportedOperationException();
        }

        /**
         * 指定された対象をこの項目と等式のために比較する。
         * リターン {@codetrue} 与えられた対象が同時に写像のエントリであり、
         * 2つの項目は同じ写像を表します。  より正式には、2
         * {@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 o オブジェクトはこの地図エントリと等価性を比較する対象です
         * @return {@code true} 指定された対象がこの写像に等しい場合
         *エントリ
         * @see #hashCode
         */
        public boolean equals(Object o) {
            もし(!( o instanceof Map.Entry))
                Return false;
            Map.Entry<?,?> e = (Map.Entry<?,?>)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()} 任意の2つのエントリに対して
         * {@code e1} および {n@code e2}、一般の要求に従い
         * { の契約@linkオブジェクト#hashCode}。
         *
         * @return このマップエントリのハッシュコード値
         * @see #equals
         */
        public int hashCode() {
            return (key == null ? 0 : key.hashCode()) ^
                   (value == null ? 0 : value.hashCode());
        }

        /**
         * このマップエントリの文字列表現を返します。  これ
         * 実装はこの文字列表現を返します
         * エントリのキーの後に等しい文字が続く ("<tt>=</tt>")
         * の後にこのエントリの値の文字列表現が続きます。
         *
         * @return このマップの文字列表現
         */
        public String toString() {
            リターンキー + "=" + 値;
        }

    }

SimpleImmutableEntryは、setValueメソッドを呼び出して値を変更しようとするとjava.langをスローします。UnsupportedOperationException異常。



コード:







先の:Javaは戦争パッケージの設定ファイルを修正します
次に:Dockerを使ってElasticsearchサービスを展開します
2021年11月11日 08:48:42に投稿 |
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com