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!