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

Bagaimana Mengisih Satu Senarai Berdasarkan Susunan Senarai Lain di Jawa?

Barbara Streisand
Barbara Streisandasal
2024-11-02 15:46:291018semak imbas

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

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!

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