Mengisih Satu Senarai Berdasarkan Satu Lagi dalam Java
Di Java, adalah mungkin untuk mengisih senarai berdasarkan susunan senarai lain. Ini boleh berguna dalam situasi di mana anda mempunyai urutan item tertentu dalam satu senarai (listB) dan anda ingin menyusun semula senarai kedua (listA) untuk memadankan susunan tersebut.
Salah satu cara untuk mencapai ini adalah dengan menggunakan kaedah Collections.sort() dengan Comparator tersuai seperti berikut:
<code class="java">Collections.sort(listToSort, new Comparator<T>() { @Override public int compare(T o1, T o2) { return listWithOrder.indexOf(o1) - listWithOrder.indexOf(o2); } });</code>
Di sini, listToSort mewakili senarai anda yang tidak diisih dan listWithOrder mengandungi susunan yang diingini. Comparator ini mengisih listToSort berdasarkan susunan elemen dalam listWithOrder.
Untuk Java 8 dan lebih baru, anda boleh memudahkan kod menggunakan lambdas dan kaedah comparingInt():
<code class="java">listToSort.sort(Comparator.comparingInt(listWithOrder::indexOf));</code>
Atas ialah kandungan terperinci Bagaimana Mengisih Satu Senarai Berdasarkan Susunan Senarai Lain di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!