Rumah > Java > javaTutorial > Bilakah Saya Harus Menggunakan `AbstractMap.SimpleEntry` Daripada `Map` Java untuk Pasangan Nilai?

Bilakah Saya Harus Menggunakan `AbstractMap.SimpleEntry` Daripada `Map` Java untuk Pasangan Nilai?

DDD
Lepaskan: 2024-12-16 07:05:15
asal
999 orang telah melayarinya

When Should I Use `AbstractMap.SimpleEntry` Instead of Java's `Map` for Value Pairs?

Alternatif kepada Peta Java untuk Menyimpan Pasangan Nilai

Java menyediakan struktur data Peta untuk mengurus pasangan nilai kunci, membolehkan anda menentukan jenis tertentu untuk setiap entri. Walau bagaimanapun, apabila anda memerlukan koleksi pasangan nilai di mana setiap elemen terdiri daripada dua nilai dengan jenis yang berbeza, Peta mungkin bukan penyelesaian yang ideal.

Untuk menangani perkara ini, Java menawarkan alternatif: AbstractMap .SimpleEntry kelas. Kelas ini membolehkan anda mencipta entri yang mengandungi sepasang nilai, di mana setiap nilai boleh mempunyai jenisnya sendiri.

Menggunakan AbstractMap.SimpleEntry

Untuk menggunakan AbstractMap.SimpleEntry, ikut langkah berikut:

  1. Buat contoh: Buat seketika objek SimpleEntry, nyatakan jenis nilai yang akan disimpan.
  2. Tambah entri: Gunakan kaedah add() koleksi anda untuk menambah kejadian SimpleEntry pada koleksi anda.
  3. Nilai akses: Dapatkan semula nilai daripada SimpleEntry menggunakan getKey() dan kaedah getValue().

Contohnya:

// Create a list of SimpleEntry pairs
List<Map.Entry<String, Integer>> pairList = new ArrayList<>();

// Add some pairs to the list
pairList.add(new AbstractMap.SimpleEntry<>("Not Unique Key 1", 1));
pairList.add(new AbstractMap.SimpleEntry<>("Not Unique Key 2", 2));
Salin selepas log masuk

Kaedah Kemudahan dan Subkelas

Untuk memudahkan proses, anda boleh menggunakan kaedah createEntry() untuk mencipta contoh SimpleEntry dengan jenis yang dikehendaki. Tambahan pula, anda boleh mensubkelaskan kelas ArrayList dan mendedahkan kaedah of() untuk menjadikan sintaks lebih ringkas.

// Create a TupleList class extending ArrayList
public class TupleList<E> extends ArrayList<E> {

    public TupleList() {}

    // Exposed method for creating and adding SimpleEntry pairs
    public void of(Object... args) {
        if (args.length % 2 != 0) {
            throw new IllegalArgumentException("Number of arguments must be even.");
        }

        for (int i = 0; i < args.length; i += 2) {
            add(new SimpleEntry<>(args[i], args[i + 1]));
        }
    }
}

// Usage
TupleList<Map.Entry<String, Integer>> pair = new TupleList<>();
pair.of("Not Unique Key 1", 1);
pair.of("Not Unique Key 2", 2);
Salin selepas log masuk

Ini membolehkan sintaks yang lebih ringkas untuk mencipta dan menambah pasangan pada koleksi anda.

Atas ialah kandungan terperinci Bilakah Saya Harus Menggunakan `AbstractMap.SimpleEntry` Daripada `Map` Java untuk Pasangan Nilai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan