Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menyimpan Pasangan Nilai dalam Java Tanpa Kekunci Unik?

Bagaimanakah Saya Boleh Menyimpan Pasangan Nilai dalam Java Tanpa Kekunci Unik?

Susan Sarandon
Susan Sarandonasal
2025-01-05 21:51:42251semak imbas

How Can I Store Value Pairs in Java Without Unique Keys?

Koleksi Java untuk Pasangan Nilai: Tuples?

Pengenalan:
Apabila bekerja dengan struktur data di Java, seseorang sering menghadapi keperluan untuk koleksi yang menyimpan pasangan nilai dengan jenis yang berbeza. Walaupun Java menyediakan Peta untuk tujuan ini, mereka menguatkuasakan kunci unik untuk setiap entri, yang mungkin tidak selalu diingini. Artikel ini membincangkan penyelesaian alternatif untuk menyimpan pasangan nilai: AbstractMap.SimpleEntry.

Jawapan:

AbstractMap.SimpleEntry ialah kelas yang sesuai untuk mewakili pasangan nilai. Ia melaksanakan antara muka Map.Entry, menyediakan kaedah untuk mengakses dan mengubah suai kunci dan nilai. Walau bagaimanapun, tidak seperti Peta, SimpleEntry tidak memerlukan kunci unik untuk setiap pasangan.

Pelaksanaan:

Untuk menggunakan AbstractMap.SimpleEntry, anda boleh mencipta ArrayList objek SimpleEntry , menyatakan jenis kunci dan nilai pada instantiasi. Berikut ialah contoh:

java.util.List<java.util.Map.Entry<String, Integer>> pairList = new java.util.ArrayList<>();

// Create and add pairs to the list
java.util.Map.Entry<String, Integer> pair1 = new java.util.AbstractMap.SimpleEntry<>("Not Unique key1", 1);
java.util.Map.Entry<String, Integer> pair2 = new java.util.AbstractMap.SimpleEntry<>("Not Unique key2", 2);
pairList.add(pair1);
pairList.add(pair2);

Penyesuaian:

Untuk kemudahan tambahan, anda boleh mencipta subkelas ArrayList yang menyediakan kaedah "daripada" untuk membuat dan menambah dengan mudah pasangan ke senarai. Ini memudahkan lagi sintaks:

public class TupleList<T> extends ArrayList<T> {
    public static <S, U> TupleList<Map.Entry<S, U>> of(S key, U value) {
        Map.Entry<S, U> pair = new AbstractMap.SimpleEntry<>(key, value);
        TupleList<Map.Entry<S, U>> tupleList = new TupleList<>();
        tupleList.add(pair);
        return tupleList;
    }
}

// Usage
TupleList<Map.Entry<String, Integer>> pair = new TupleList<>();
pair.of("Not Unique key1", 1);
pair.of("Not Unique key2", 2);

Dengan menggunakan AbstractMap.SimpleEntry, pembangun boleh menyimpan data secara cekap secara berpasangan dengan pelbagai jenis, mengekalkan susunan tanpa kekangan keunikan utama.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan Pasangan Nilai dalam Java Tanpa Kekunci Unik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Antara muka và kelas AbstrakArtikel seterusnya:Antara muka và kelas Abstrak