Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 22637|Odpoveď: 1

[Zdroj] Java java.util.AbstractMap.SimpleImmutableEntry pre podrobnosti

[Kopírovať odkaz]
Zverejnené 10.11.2021 o 17:39:42 | | | |
Pár, alebo pár, poskytuje pohodlný spôsob spracovania jednoduchých asociácií kľúč-hodnota, čo je obzvlášť užitočné, keď chceme vrátiť dve hodnoty z metódy. JDK obsahuje interné triedy: AbstractMap.SimpleEntry a AbstractMap.SimpleImmutableEntry


1. SimpleEntry je definovaný v abstraktnej triede AbstractMap a jeho spôsob konštrukcie je podobný metóde Pair.

2. Trieda AbstractMap tiež obsahuje vnorenú triedu, ktorá predstavuje nemenný pár: triedu SimpleImmutableEntry.

/**
     * Záznam zachovávajúci nemenný kľúč a hodnotu.  Táto trieda
     * nepodporuje metódu <tt>setValue</tt>.  Táto trieda môže byť
     * pohodlné v metódach, ktoré vracajú bezpečné snímky z
     * mapovania kľúč-hodnota.
     *
     * @since 1,6
     */
    public static class SimpleImmutableEntry<K,V>
        implements Entry<K,V>, java.io.Serializable
    {
        súkromný statický final long serialVersionUID = 7138329143949025153L;

        súkromný záverečný kláves K;
        súkromná finálna hodnota V;

        /**
         * Vytvára položku reprezentujúcu mapovanie zo špecifikovaného
         * kľúč k zadanej hodnote.
         *
         * @param kľúč je kľúč reprezentovaný týmto záznamom
         * @param hodnotu hodnotu reprezentovanú týmto záznamom
         */
        public SimpleImmutableEntry(K key, V value) {
            this.key = kľúč;
            this.value = value;
        }

        /**
         * Vytvára položku reprezentujúcu rovnaké zobrazenie ako
         * špecifikovaný záznam.
         *
         * @param záznam zápis na kopírovanie
         */
        public SimpleImmutableEntry(Entry<? rozširuje K, ? rozširuje V> entry) {
            this.key = entry.getKey();
            this.value = entry.getValue();
        }

        /**
         * Vráti kľúč zodpovedajúci tomuto záznamu.
         *
         * @return kľúč zodpovedajúci tomuto záznamu
         */
        public K getKey() {
            kláves return;
        }

        /**
         * vráti hodnotu zodpovedajúcu tomuto záznamu.
         *
         * @return hodnota zodpovedajúca tomuto záznamu
         */
        public V getValue() {
            návratnosť;
        }

        /**
         * Nahradí hodnotu zodpovedajúcu tomuto prvku špecifikovanou
         * hodnota (voliteľná operácia).  Táto implementácia jednoducho vyhodí
         * <tt>UnsupportedOperationException</tt>, ako táto trieda implementuje
         * <i>nemenný</i> záznam na mape.
         *
         * @param nová hodnota bude uložená v tomto zázname
         * @return (Nevracia sa)
         * @throws UnsupportedOperationException vždy
         */
        public V setValue(V value) {
            throw new UnsupportedOperationException();
        }

        /**
         * Porovnáva špecifikovaný objekt s týmto prvkom pre rovnosť.
         * Returns {@codepravda} ak daný objekt je zároveň mapovým prvkom a
         * obe položky predstavujú rovnaké zobrazenie.  Formálnejšie, dva
         * prvky {@code e1} a {@code e2} predstavujú rovnaké zobrazenie
         *ak<pre>
         * (e1.getKey()==null ?
         * e2.getKey()==null :
         * e1.getKey().equals(e2.getKey()))
         *   &&
         * (e1.getValue()==null ?
         * e2.getValue()==null :
         * e1.getValue().equals(e2.getValue()))</pre>
         * To zabezpečuje, že metóda {@code rovná sa} funguje správne naprieč
         * rôzne implementácie rozhrania {@code Map.Entry}.
         *
         * @param objekt na porovnanie rovnosti s týmto mapovým záznamom
         * @return {@code true} ak je špecifikovaný objekt rovný tomuto zobrazeniu
         *položka
         * @see #hashCode
         */
        verejný boolean sa rovná(Objekt o) {
            ak (!( o instanceof Map.Entry))
                return false;
            Map.Entry<?,?> e = (Map.Entry<?,?>)o;
            return eq(key, e.getKey()) & eq(value, e.getValue());
        }

        /**
         * Vráti hodnotu hash kódu pre tento mapový záznam.  Hašovací kód
         * mapového záznamu {@code e} je definovaný ako: <pre>
         * (e.getKey()==null ? 0 : e.getKey().hashCode()) ^
         * (e.getValue()==null ? 0 : e.getValue().hashCode())</pre>
         * To zabezpečuje, že {@code e1.rovná sa(e2)} implikuje, že
         * {@code e1.hashCode()==e2.hashCode()} pre ľubovoľné dva položky
         * {@code e1} a {@code e2}, ako vyžaduje všeobecný
         * zmluva {@linkObjekt#hashKód}.
         *
         * @return hodnotu hash kódu pre tento mapový záznam
         * @see #equals
         */
        public int hashCode() {
            return (key == null ? 0 : key.hashCode()) ^
                   (value == null ? 0 : value.hashCode());
        }

        /**
         * Vráti reťazcovú reprezentáciu tohto mapového záznamu.  Toto
         * implementácia vráti reťazcovú reprezentáciu tohto
         * kľúč prvku nasledovaný znakom rovnosti ("<tt>=</tt>")
         * nasledovaná reťazcovou reprezentáciou hodnoty tohto prvku.
         *
         * @return reťazcová reprezentácia tohto mapového záznamu
         */
        public String toString() {
            return kľúč + "=" + hodnota;
        }

    }

SimpleImmutableEntry hodí java.lang, ak sa pokúsi upraviť hodnotu, volajúc metódu setValue.NepodporovanáOperáciaVýnimkaAbnormálny.



Kód:







Predchádzajúci:Java upravuje konfiguračný súbor war balíka
Budúci:Nasadenie služby Elasticsearch pomocou Dockeru
Zverejnené 11.11.2021 08:48:42 |
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com