protected override SetLinkedEntry <K> CreateEntry(int hash, K key, SetLinkedEntry <K> nextEntry) { SetLinkedEntry <K> entry = new SetLinkedEntry <K>(hash, key); entry.NextEntry = nextEntry; return(entry); }
public override void Remove() { if (!removeAllowed) { throw new NotSupportedException(); } hashSet.Remove(currEntry.Key); currEntry = null; }
public override bool Equals(Object obj) { if (obj == this) { return(true); } if (!(obj is SetLinkedEntry <K>)) { return(false); } SetLinkedEntry <K> other = (SetLinkedEntry <K>)obj; return(Object.Equals(Key, other.Key) && Object.Equals(ElemValue, other.ElemValue)); }
public override bool MoveNext() { if (first) { IListElem <E> firstElem = fastIterationList.First; if (firstElem == null) { return(false); } currEntry = firstElem.ElemValue; next = currEntry.Next; first = false; return(true); } else if (next == null) { return(false); } currEntry = next.ElemValue; next = currEntry.Next; return(true); }
protected override bool EqualKeys(K key, SetLinkedEntry <K> entry) { return(Object.ReferenceEquals(key, entry.Key)); }