Javaのリストセットは、オブジェクトの属性に応じて、新しいデータを保持します。

805 ワード

需要は、一連のデータを保存し、バックグラウンドに提出し、最新のデータをリアルタイムで提出することです。リストのセットにデータを追加して、最後に提出する前に重いです。
エンティティクラスを定義:
public class Robot implements Serializable {

    private Long id;
 
    private String name;
}
Robotエンティティ中のidフィールドに基づいてデバックします。コードは以下の通りです。
private List removeDuplicateRobot(List robot) {
    Set set = new TreeSet<>(new Comparator() {
        @Override
        public int compare(Robot r1, Robot r2) {
        //   ,   Asicc     
            return r1.getId().compareTo(r2.getId());
        }
    });
    set.addAll(robot);
    return new ArrayList<>(set);
}
需要によって、私達は古いデータを取り除いて、新しいデータを保留したいです。Setにセットする前に、リストデータを逆さまにすればいいです。
//     
Collections.reverse(robot);