While it is unusual that a class implements both List
and Set
, there are some situations, where a Set
can also support being a somewhat limited List
.
Personally, I prefer to declare an asList()
method in these cases, instead of implementing both List
and Set
at the same time. Something like this:
public class SetList<V> implements Set<V> {
public List<V> asList(){
// return a list representation of this Set
}
}
On the other hand, if you already have an existing class, that implements both List
and Set
, then the simplest solution for your problem is perhaps to explicitly call one of the super spliterator()
methods:
public class SetList<V> implements Set<V>, List<V> {
@Override
public Spliterator<V> spliterator() {
return List.super.spliterator();
}
}