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