用相同类型的对象替换 aList
中的对象的最简洁方法是什么,但不一定相等。基本上我想要Set
添加对象时的行为,但基于类型而不是相等。(编辑)我还需要保留插入顺序。
我不一定希望使用List
任何其他数据结构就足够了。我需要的是这种行为:
interface A<T> {
T getData();
}
class B implements A<String> {
private final String data;
public B(String data) {
this.data = data;
}
public String getData() {
return data;
}
}
class C implements A<String> {
private final String data;
public C(String data) {
this.data = data;
}
public String getData() {
return data;
}
}
Set<A> set = new SomeSet<A>();
set.add(new B("one"));
set.add(new C("two"));
set.add(new C("three"));
Set
然后应该包含 2 个元素,new B("one")
并且new C("three")
.