私は一日中仕事をしてきましたが、どうにかしてこのおそらく簡単なタスクを理解することができません - おそらくコーヒーが不足しています...
synchronizedList
いくつかのオブジェクトが保存されている場所があります。これらのオブジェクトにはfield
、ID のようなものがあります。これらのオブジェクトは、ユーザーとその現在の状態 (簡略化) に関する情報を保持します。
ポイントは、ユーザーごとに 1 つのオブジェクトのみが必要だということです。したがって、このユーザーの状態が変化したときは、「古い」エントリを削除して新しいエントリを に保存したいと思いList
ます。
protected static class Objects{
...
long time;
Object ID;
...
}
...
if (Objects.contains(ID)) {
Objects.remove(ID);
Objects.add(newObject);
} else {
Objects.add(newObject);
}
明らかにこれは進むべき道ではありませんが、私が探しているものを説明する必要があります...
おそらくデータ構造はこの目的には最適ではありませんが、どんな助けも大歓迎です!
EDIT:
いくつかの情報を追加しました...
A
Set
は私の目的に合わないようです。Objects
常に変化する ID 以外のいくつかのフィールドを保存します。目的は、リストが何らかの形でユーザーの最新のアクティビティを表すことです。最後の状態を追跡し、この状況を説明するオブジェクトのみを保持する必要があるだけです。コードを a で再配置してみて、それが機能するかどうかを確認しようと思います
Map
...