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
935 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!

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