Rumah > Java > javaTutorial > Bagaimanakah saya boleh menyusun Java HashMap mengikut Nilainya?

Bagaimanakah saya boleh menyusun Java HashMap mengikut Nilainya?

DDD
Lepaskan: 2024-12-07 13:36:18
asal
322 orang telah melayarinya

How Can I Sort a Java HashMap by Its Values?

Mengisih HashMap dalam Java: Teknik Berasaskan Nilai

Di Java, HashMaps ialah koleksi berharga untuk menyimpan pasangan nilai kunci, tetapi ia tidak mengekalkan susunan pengisihan tertentu. Untuk mengisih HashMap berdasarkan nilai, kita perlu menggunakan teknik tambahan.

Pendekatan untuk Pengisihan Berasaskan Nilai

Satu pendekatan ialah menukar HashMap kepada senarai nilai menggunakan kaedah values(). Kami kemudiannya boleh mengisih senarai menggunakan pembanding yang mentakrifkan logik pengisihan yang diingini.

Map<String, Person> people = new HashMap<>();
Person jim = new Person("Jim", 25);
Person scott = new Person("Scott", 28);
Person anna = new Person("Anna", 23);

people.put(jim.getName(), jim);
people.put(scott.getName(), scott);
people.put(anna.getName(), anna);

List<Person> peopleByAge = new ArrayList<>(people.values());
Collections.sort(peopleByAge, Comparator.comparing(Person::getAge));
Salin selepas log masuk

Selepas mengisih senarai, kami boleh mengakses elemen yang diisih.

Pendekatan lain, sesuai untuk akses kerap , adalah untuk mencipta pemetaan HashMap kepada set yang diisih. Sebagai contoh, kita boleh menggunakan HashMap> untuk mencapai matlamat ini.

Pertimbangan untuk TreeMap

Jika mengisih mengikut kekunci lebih diutamakan, adalah wajar mempertimbangkan menggunakan TreeMap sebaliknya. TreeMaps secara automatik mengekalkan susunan pengisihan semula jadi berdasarkan kekunci.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menyusun Java HashMap mengikut Nilainya?. 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