Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 22637|Atsakyti: 1

[Šaltinis] Java java.util.AbstractMap.SimpleImmutableEntry daugiau informacijos

[Kopijuoti nuorodą]
Publikuota: 2021-11-10 17:39:42 | | | |
Pora arba pora suteikia patogų būdą tvarkyti paprastas rakto ir reikšmės asociacijas, o tai ypač naudinga, kai norime grąžinti dvi metodo reikšmes. JDK ateina su vidinėmis klasėmis: AbstractMap.SimpleEntry ir AbstractMap.SimpleImmutableEntry


1. SimpleEntry apibrėžiamas abstrakčioje klasėje AbstractMap, o jo konstravimo metodas yra panašus į Pair.

2. AbstractMap klasėje taip pat yra įdėta klasė, kuri reiškia nekintančią porą: SimpleImmutableEntry klasė.

/**
     * Įrašas, išlaikantis nekintamą raktą ir vertę.  Ši klasė
     * nepalaiko metodo <tt>setValue</tt>.  Ši klasė gali būti
     * patogus metodai, kurie grąžina sriegio saugias momentines nuotraukas
     * rakto ir reikšmės susiejimai.
     *
     * @since 1,6
     */
    viešoji statinė klasė SimpleImmutableEntry<K,V>
        įgyvendina Entry<K,V>, java.io.Serializable
    {
        privatus statinis galutinis ilgas serialVersionUID = 7138329143949025153L;

        privatus galutinis K raktas;
        privati galutinė V vertė;

        /**
         * Sukuria įrašą, vaizduojantį susiejimą iš nurodyto
         * klavišą į nurodytą vertę.
         *
         * @param raktas pavaizduotas šiame įraše
         * @param vertė šiame įraše nurodyta vertė
         */
        public SimpleImmutableEntry(K raktas, V reikšmė) {
            this.key = raktas;
            this.value = vertė;
        }

        /**
         * Sukuria įrašą, vaizduojantį tą patį susiejimą kaip
         * nurodytas įrašas.
         *
         * @param įrašas įrašas kopijuoti
         */
        public SimpleImmutableEntry(Entry<? išplečia K, ? išplečia V> įrašą) {
            this.key = entry.getKey();
            this.value = entry.getValue();
        }

        /**
         * Grąžina šį įrašą atitinkantį raktą.
         *
         * @return šį įrašą atitinkantį raktą
         */
        viešas K getKey() {
            grįžimo raktas;
        }

        /**
         * Grąžina reikšmę, atitinkančią šį įrašą.
         *
         * @return vertę, atitinkančią šį įrašą
         */
        viešas V getValue() {
            grąžinamoji vertė;
        }

        /**
         * Šį įrašą atitinkančią reikšmę pakeičia nurodyta
         * reikšmė (pasirenkama operacija).  Šis įgyvendinimas tiesiog išmeta
         * <tt>UnsupportedOperationException</tt>, kaip ši klasė įgyvendina
         * <i>nekintamas</i> žemėlapio įrašas.
         *
         * @param reikšmė nauja reikšmė, kuri turi būti išsaugota šiame įraše
         * @return (negrįžta)
         * @throws UnsupportedOperationException visada
         */
        viešasis V setValue(V reikšmė) {
            mesti naują UnsupportedOperationException();
        }

        /**
         * Palygina nurodytą objektą su šiuo lygybės įrašu.
         * Grąžina {@codetrue}, jei nurodytas objektas taip pat yra žemėlapio įrašas ir
         * Du įrašai atspindi tą patį susiejimą.  Formaliau, du
         * Įrašai {@code e1} ir {@code e2} reiškia tą patį susiejimą
         *jeigu<pre>
         * (e1.getKey()==null ?
         * e2.getKey()==null :
         * e1.getKey().equals(e2.getKey()))
         *   &&
         * (e1.getValue()==null ?
         * e2.getValue()==null :
         * e1.getValue().equals(e2.getValue()))</pre>
         * Tai užtikrina, kad {@code lygus} metodas tinkamai veiktų visose
         * skirtingi {@code Map.Entry} sąsajos įgyvendinimai.
         *
         * @param objektas, kuris turi būti lyginamas dėl lygybės su šiuo žemėlapio įrašu
         * @return {@code true}, jei nurodytas objektas yra lygus šiai schemai
         *Įrašas
         * @see #hashCode
         */
        viešasis loginis lygus(Objektas o) {
            jei (!( o Map.Entry pavyzdys))
                grąžinti klaidingą;
            Map.Entry<?,?> e = (Map.Entry<?,?>)o;
            return eq(key, e.getKey()) && eq(value, e.getValue());
        }

        /**
         * Grąžina šio žemėlapio įrašo maišos kodo reikšmę.  Maišos kodas
         * žemėlapio įrašo {@code e} apibrėžiamas taip: <pre>
         * (e.getKey()==null ? 0 : e.getKey().hashCode()) ^
         * (e.getValue()==null ? 0 : e.getValue().hashCode())</pre>
         * Tai užtikrina, kad {@code e1.equals(e2)} reiškia, kad
         * {@code e1.hashCode()==e2.hashCode()} bet kuriems dviem įrašams
         * {@code e1} ir {@code e2}, kaip reikalaujama bendrajame
         * sutartis {@linkObjektas#hashCode}.
         *
         * @return šio žemėlapio įrašo maišos kodo reikšmę
         * @see #equals
         */
        public int hashCode() {
            return (raktas == null ? 0 : key.hashCode()) ^
                   (reikšmė == nulis ? 0 : value.hashCode());
        }

        /**
         * Grąžina šio žemėlapio įrašo eilutės vaizdą.  Šis
         * įgyvendinimas grąžina šios eilutės atvaizdą
         * įrašo raktas, po kurio seka lygybės simbolis ("<tt>=</tt>")
         * po to šio įrašo reikšmės eilutės vaizdas.
         *
         * @return šio žemėlapio įrašo eilutės reprezentacija
         */
        public String toString() {
            grąžinimo raktas + "=" + reikšmė;
        }

    }

SimpleImmutableEntry išmeta java.lang, jei bando modifikuoti reikšmę, iškviesdamas setValue metodą.UnsupportedOperationExceptionNenormalus.



Kodas:







Ankstesnis:"Java" modifikuoja karo paketo konfigūracijos failą
Kitą:"Elasticsearch" paslaugos diegimas naudojant "Docker"
Paskelbta 2021-11-11 08:48:42 |
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com