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

Bagaimanakah saya boleh Mengisih Koleksi Java mengikut Medan Tersuai?

Linda Hamilton
Linda Hamiltonasal
2024-11-07 19:31:03846semak imbas

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);

Menggunakan Antara Muka Sebanding (Java 8 )

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

Collections.sort(list);

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));

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:
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