Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Isih Nilai dalam Java HashMap?

Bagaimanakah Saya Boleh Isih Nilai dalam Java HashMap?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-29 10:18:10924semak imbas

How Can I Sort the Values in a Java HashMap?

Mengisih Java HashMaps

HashMaps digunakan secara meluas di Java untuk menyimpan dan mendapatkan data dengan cekap. Walau bagaimanapun, mereka tidak mengekalkan susunan kunci dan nilai dimasukkan. Menyusun HashMap boleh menjadi langkah penting apabila memerlukan perwakilan tertib kandungannya.

Mengisih HashMaps mengikut Nilai ArrayList

Apabila HashMap memegang pasangan nilai kunci di mana nilai ialah ArrayLists, pengisihan dikehendaki berdasarkan elemen ArrayList. Walau bagaimanapun, HashMaps tidak mempunyai keupayaan untuk mengisih nilai secara semula jadi.

Pilihan untuk Mengisih Nilai HashMap

1. Transform to a TreeMap:

Jika mengurus Antara Muka Peta tidak penting, pertimbangkan untuk menukar HashMap menjadi TreeMap, yang secara automatik mengisih kekunci dan nilai berkaitannya berdasarkan susunan semula jadi kunci.

2. Isih Nilai HashMap Menggunakan Pembanding:

Untuk mengisih nilai HashMap tanpa menukar kepada TreeMap, buat senarai nilai secara manual dan gunakan pengisihan menggunakan pembanding. Berikut ialah contoh:

Map<String, Person> people = new HashMap<>();

// Create and add Person instances to the map
...

// Convert values to a list and sort it based on Person age
List<Person> peopleByAge = new ArrayList<>(people.values());
Collections.sort(peopleByAge, Comparator.comparing(Person::getAge));

// Iterate over the sorted list and print the sorted data
for (Person p : peopleByAge) {
    System.out.println(p.getName() + "\t" + p.getAge());
}

3. Gunakan HashMap dengan Nilai TreeSet:

Untuk akses kerap kepada data yang diisih, anda boleh mencipta HashMap dengan nilainya TreeSets. TreeSets secara automatik mengekalkan susunan tersusun elemen mereka. Walau bagaimanapun, set berbeza sedikit daripada senarai dari segi gelagat dan struktur datanya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Isih Nilai dalam Java HashMap?. 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