Rumah  >  Artikel  >  Java  >  Bagaimana Mengisih Senarai Berdasarkan Susunan Senarai Lain di Jawa?

Bagaimana Mengisih Senarai Berdasarkan Susunan Senarai Lain di Jawa?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-01 09:53:30668semak imbas

How to Sort a List Based on the Order of Another List in Java?

Isih Senarai Berdasarkan Susunan Diberi

Di Java, adalah mungkin untuk mengisih satu senarai berdasarkan susunan senarai lain. Ini boleh berguna dalam pelbagai senario, seperti mengekalkan susunan item apabila mendapatkannya daripada pangkalan data atau menyusun semula senarai elemen berdasarkan keutamaan pengguna.

Untuk mencapainya, kami boleh memanfaatkan Java's Collections.sort( ) kaedah, yang mengambil Pembanding sebagai hujah. Comparator mentakrifkan peraturan susunan untuk elemen dalam senarai.

Penyelesaian Java 8

Dalam Java 8, kita boleh menggunakan Comparator.comparing() untuk mengisih senarai berdasarkan kaedah indexOf() senarai tertib. Coretan kod berikut menunjukkan pendekatan ini:

<code class="java">Collections.sort(listToSort, Comparator.comparing(item -> listWithOrder.indexOf(item)));</code>

Penyelesaian Java 8 Dioptimumkan

Untuk prestasi yang lebih baik, kita boleh menggunakan Comparator.comparingInt() sebaliknya, seperti yang dilihat dalam kod berikut:

<code class="java">listToSort.sort(Comparator.comparingInt(listWithOrder::indexOf));</code>

Dengan mengisih satu senarai berdasarkan susunan yang lain, kami boleh memastikan bahawa elemen dalam senarai yang diisih mengekalkan susunan relatif yang sama seperti elemen dalam senarai tersusun. Ini ialah teknik berkuasa yang boleh digunakan untuk pelbagai aplikasi dalam pengaturcaraan Java.

Atas ialah kandungan terperinci Bagaimana Mengisih Senarai Berdasarkan Susunan Senarai Lain di Jawa?. 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