Di Jawa, saya punya Set
, dan saya ingin mengubahnya menjadi diurutkan List
. Apakah ada metode dalam java.util.Collections
paket yang akan melakukan ini untuk saya?
java
sorting
collections
Jeremy Stein
sumber
sumber
Util
Kelasnya adalah yang berisiasSortedList()
metode yang saya tulis. Dengan kata lain, Anda menulisUtil
sendiri kelasnya, dan memasukkan kode itu ke dalamnya.Kumpulan yang diurutkan:
atau:
sumber
Set
?new TreeSet
menerimaCollection
s, bukan hanyaSet
s. Tidak semua orang yang membaca jawaban ini akan menggunakanSet
, meskipun itulah pertanyaan awal yang diajukan.... harus melakukan triknya. Tambahkan rasa dengan Generics jika berlaku.
sumber
Comparable
dan menimpanyacompareTo
metode.Berikut ini cara melakukannya dengan Streaming Java 8:
atau dengan pembanding khusus:
sumber
Selalu aman untuk menggunakan Comparator atau Comparable interface untuk menyediakan implementasi penyortiran (jika objek bukan kelas String atau Wrapper untuk tipe data primitif). Sebagai contoh untuk implementasi komparator untuk mengurutkan karyawan berdasarkan nama
Pembanding berguna ketika Anda perlu memiliki algoritma pengurutan yang berbeda pada objek yang sama (Katakanlah nama emp, gaji emp, dll). Penyortiran mode tunggal dapat diimplementasikan dengan menggunakan antarmuka Sebanding dalam ke objek yang diperlukan.
sumber
Tidak ada metode tunggal untuk melakukan itu. Gunakan ini:
sumber
Anda bisa mengonversi set menjadi
ArrayList
, tempat Anda bisa mengurutkanArrayList
penggunaanCollections.sort(List)
.Ini kodenya:
sumber
di mana originalset = set tidak disortir dan daftar = daftar untuk dikembalikan
sumber
@ Jeremy Stein Saya ingin menerapkan kode yang sama. Saya juga ingin menyortir set ke daftar, Jadi alih-alih menggunakan Set, saya mengonversi nilai set ke dalam Daftar dan mengurutkan daftar itu dengan salah satu variabelnya. Kode ini membantu saya,
sumber
Saya menggunakan kode ini, yang menurut saya lebih praktis daripada jawaban yang diterima di atas:
sumber