配列を別の配列に従ってソートする必要があります。例:
list1:[221、54、50、138、125、145]
リスト2:[50、125]
ソートされたリスト1は次のようになります:[50、125、221、54、138、145]
私は次のコードを試しました:
Collections.sort(list1, Comparator.comparing(listItem -> list2.indexOf(listItem)));
しかし、これは次の結果になります:[221、54、138、145、50、125]
トップと残りの50と125を取得するにはどうすればよいですか?
ときlist1
要素が中に含まれていません。list2
その後、indexOf
戻る-1
、それらの値が最初に来る理由のを。したがって、これらの値を使用する場合list1.size()
、それらの値は後で取得されます。
Collections.sort(list1, Comparator.comparing(listItem -> list2.contains(listItem) ? list2.indexOf(listItem): list1.size()));
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加