class Foo
{
int x;
int y;
int z;
//Overriding equals() and hashCode() to just field x
}
List<Foo> myList=new ArrayList<Foo>();
myList.add(fooObj);
myList.add(fooObj2);
すべてのFooオブジェクトは、基本的にフィールド x に基づいて比較されます。
値 x に基づいてリストからfooObjを取得したいと思います。リストから完全なオブジェクトを取得するためにget(Object o)
回避策を実行する代わりに、メソッドを追加するのが意味をなさないのはなぜですか。「 null 」を返す可能性があるため、nullチェックが必要ですが、これも良くありません。list.get(list.indexOf(fooObj))
indexOf()
更新:
Map は、getX() -> objFoo のキーと値のペアを持つことをお勧めします。私の Foo が Foo クラスの X と Y という 2 つのフィールドで定義されている場合、この目的で Map を使用することはできません。