Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 22637|Απάντηση: 1

[Πηγή] Java java.util.AbstractMap.SimpleImmutableΚαταχώρηση για λεπτομέρειες

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2021-11-10 17:39:42 | | | |
Το ζεύγος, ή ζεύγος, παρέχει έναν βολικό τρόπο χειρισμού απλών συσχετίσεων κλειδιού-τιμής, ο οποίος είναι ιδιαίτερα χρήσιμος όταν θέλουμε να επιστρέψουμε δύο τιμές από μια μέθοδο. Το JDK συνοδεύεται από εσωτερικές: AbstractMap.SimpleEntry και AbstractMap.SimpleImmutableEntry

Η χρήση πλειάδων στην Java

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

1. Το SimpleEntry ορίζεται στην αφηρημένη κλάση AbstractMap και η μέθοδος κατασκευής του είναι παρόμοια με αυτή του Pair.

2. Η κλάση AbstractMap περιέχει επίσης μια ένθετη κλάση, η οποία αντιπροσωπεύει ένα αμετάβλητο ζεύγος: την κλάση SimpleImmutableEntry.

/**
     * Μια καταχώρηση που διατηρεί ένα αμετάβλητο κλειδί και αξία.  Αυτή η τάξη
     * δεν υποστηρίζει τη μέθοδο <tt>setValue</tt>.  Η τάξη αυτή μπορεί να
     * βολικό σε μεθόδους που επιστρέφουν στιγμιότυπα ασφαλή για νήματα
     * αντιστοιχίσεις κλειδιού-τιμής.
     *
     * @since 1,6
     */
    δημόσια στατική κλάση SimpleImmutableEntry<K,V>
        υλοποιεί το Entry<K,V>, java.io.Serializable
    {
        ιδιωτικό στατικό τελικό μακρύ σειριακόVersionUID = 7138329143949025153L;

        ιδιωτικό τελικό κλειδί K.
        ιδιωτική τελική τιμή V·

        /**
         * Δημιουργεί μια καταχώρηση που αντιπροσωπεύει μια αντιστοίχιση από το καθορισμένο
         * κλειδί για την καθορισμένη τιμή.
         *
         * @param κλειδί το κλειδί που αντιπροσωπεύεται από αυτήν την καταχώρηση
         * @param τιμή της τιμής που αντιπροσωπεύεται από αυτήν την καταχώρηση
         */
        public SimpleImmutableEntry(κλειδί K, τιμή V) {
            this.key = κλειδί;
            this.value = τιμή;
        }

        /**
         * Δημιουργεί μια καταχώρηση που αντιπροσωπεύει την ίδια αντιστοίχιση με το
         * Καθορισμένη καταχώρηση.
         *
         * @param εισαγάγετε την καταχώριση για αντιγραφή
         */
        public SimpleImmutableEntry(Entry<? extend K, ? extend 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) {
            ρίξε νέα 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 ισούται με} λειτουργεί σωστά
         * διαφορετικές υλοποιήσεις της διεπαφής {@code Map.Entry}.
         *
         * @param o αντικείμενο που πρέπει να συγκριθεί για ισότητα με αυτήν την καταχώριση χάρτη
         * @return {@code true} εάν το καθορισμένο αντικείμενο είναι ίσο με αυτόν τον χάρτη
         *είσοδος
         * @see #hashCode
         */
        public boolean equals(Αντικείμενο o) {
            αν (!( o instanceof Map.Entry))
                επιστροφή ψευδής?
            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()} για οποιεσδήποτε δύο καταχωρήσεις
         * {@code e1} και {@code e2}, όπως απαιτείται από τη γενική
         * σύμβαση της {@linkObject#hashCode}.
         *
         * @return την τιμή του κωδικού κατακερματισμού για αυτήν την καταχώρηση χάρτη
         * @see #equals
         */
        public int hashCode() {
            return (κλειδί == null ? 0 : key.hashCode()) ^
                   (τιμή == null ? 0 : value.hashCode());
        }

        /**
         * Επιστρέφει μια αναπαράσταση συμβολοσειράς αυτής της καταχώρησης χάρτη.  Αυτό
         * Η υλοποίηση επιστρέφει την αναπαράσταση συμβολοσειράς αυτού
         * Το κλειδί της καταχώρησης ακολουθούμενο από τον χαρακτήρα ίσον ("<tt>=</tt>")
         * ακολουθούμενη από την αναπαράσταση συμβολοσειράς της τιμής αυτής της καταχώρησης.
         *
         * @return μια αναπαράσταση συμβολοσειράς αυτής της καταχώρησης χάρτη
         */
        public String toString() {
            κλειδί επιστροφής + "=" + τιμή.
        }

    }

Το SimpleImmutableEntry ρίχνει το java.lang εάν προσπαθήσει να τροποποιήσει την τιμή, καλώντας τη μέθοδο setValue.Μη υποστηριζόμενηΛειτουργίαΕξαίρεσηΑνώμαλος.



Κώδικας:







Προηγούμενος:Η Java τροποποιεί το αρχείο ρυθμίσεων του πακέτου πολέμου
Επόμενος:Αναπτύξτε την υπηρεσία Elasticsearch χρησιμοποιώντας το Docker
Δημοσιεύτηκε στις 2021-11-11 08:48:42 |
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com