Rumah > Java > javaTutorial > Bagaimanakah saya boleh Mengisih Koleksi Java mengikut Medan Tersuai?

Bagaimanakah saya boleh Mengisih Koleksi Java mengikut Medan Tersuai?

Linda Hamilton
Lepaskan: 2024-11-07 19:31:03
asal
845 orang telah melayarinya

How do I Sort Java Collections by Custom Fields?

Mengisih Koleksi Java mengikut Medan Tersuai

Anda mempunyai koleksi Java yang ingin diisi mengikut medan. Begini cara anda boleh mencapainya:

Menggunakan Pembanding

Jika elemen koleksi anda tidak melaksanakan Comparable, anda boleh menggunakan Comparator untuk menentukan kriteria pengisihan:

Comparator<CustomObject> comparator = (left, right) -> left.getId() - right.getId();
Collections.sort(list, comparator);
System.out.println(list);
Salin selepas log masuk

Menggunakan Antara Muka Sebanding (Java 8 )

Jika CustomObject anda melaksanakan Comparable, anda boleh terus menggunakan Collections.sort():

Collections.sort(list);
Salin selepas log masuk

Pilihan Isih Terperinci

Untuk sintaks yang lebih mudah dalam Java 8 , pertimbangkan pilihan berikut:

Collections.sort(list, (left, right) -> left.getId() - right.getId());
list.sort((left, right) -> left.getId() - right.getId());
list.sort(Comparator.comparing(CustomObject::getId));
Salin selepas log masuk

Ingat, kod awal yang digunakan untuk pendekatan pembanding boleh digunakan pada Java 8 juga.

Atas ialah kandungan terperinci Bagaimanakah saya boleh Mengisih Koleksi Java mengikut Medan Tersuai?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan