Java Reference
In-Depth Information
103 LinkedList<E> bucket = table[bucketIndex];
104
for
(E element: bucket)
105
if
(e.equals(element)) {
106 bucket.remove(element);
107
break
;
108 }
109 }
110
111 size——;
// Decrease size
112
113
return true
;
114 }
115
116 @Override
/** Return true if the set contain no elements */
117
public boolean
isEmpty() {
isEmpty
118
return
size ==
0
;
119 }
120
121 @Override
/** Return the number of elements in the set */
122
public int
size() {
size
123
return
size;
124 }
125
126 @Override
/** Return an iterator for the elements in this set */
127
public
java.util.Iterator<E> iterator() {
iterator
128
return new
MyHashSetIterator(
this
);
129 }
130
131
/** Inner class for iterator */
132
private class
MyHashSetIterator
implements
java.util.Iterator<E> {
inner class
133
// Store the elements in a list
134
private
java.util.ArrayList<E> list;
135
private int
current =
0
;
// Point to the current element in list
136
private
MyHashSet<E> set;
137
138
/** Create a list from the set */
139
public
MyHashSetIterator(MyHashSet<E> set) {
140
this
.set = set;
141 list = setToList();
142 }
143
144 @Override
/** Next element for traversing? */
145
public boolean
hasNext() {
146
if
(current < list.size())
147
return true
;
148
149
return false
;
150 }
151
152 @Override
/** Get current element and move cursor to the next */
153
public
E next() {
154
return
list.get(current++);
155 }
156
157
/** Remove the current element and refresh the list */
158
public void
remove() {
159
// Delete the current element from the hash set
160 set.remove(list.get(current));
161 list.remove(current);
// Remove current element from the list
162 }
Search WWH ::
Custom Search