@Override public boolean equals(Object obj) { //noinspection unchecked return obj == this || obj instanceof Wrapped && comparer.equal(element, ((Wrapped<T>) obj).element); }
@Override public int hashCode() { return comparer.hashCode(element); }
/** * Determines whether a sequence contains a specified * element by using a specified {@code EqualityComparer<TSource>}. */ public static <TSource> boolean contains(Enumerable<TSource> enumerable, TSource element, EqualityComparer<TSource> comparer) { for (TSource o : enumerable) { if (comparer.equal(o, element)) { return true; } } return false; }
Enumerator<TSource> os2 = second.enumerator()) { while (os1.moveNext()) { if (!(os2.moveNext() && comparer.equal(os1.current(), os2.current()))) { return false;