Skip to content

Commit 8369c95

Browse files
committed
Iterator update
Iterator update
1 parent b806365 commit 8369c95

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed

javacollectionsframeworkexamples/JavaCollectionsFrameworkExamples.java

+74
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,19 @@
33
import java.util.ArrayList;
44
import java.util.HashMap;
55
import java.util.HashSet;
6+
import java.util.Iterator;
67
import java.util.LinkedHashMap;
78
import java.util.LinkedHashSet;
89
import java.util.LinkedList;
910
import java.util.List;
1011
import java.util.Map;
12+
import java.util.Queue;
1113
import java.util.Set;
1214
import java.util.TreeMap;
1315
import java.util.TreeSet;
16+
import java.util.concurrent.ArrayBlockingQueue;
17+
import java.util.ListIterator;
18+
1419

1520
/**
1621
*
@@ -25,6 +30,8 @@ public static void main(String[] args) {
2530
ArrayListVsLinkedList();
2631
HashMapLinkedHashMapTreeMapTest();
2732
SetsTest();
33+
QueueTest();
34+
IteratorTest();
2835
}
2936

3037
private static final void ArrayListVsLinkedList() {
@@ -183,4 +190,71 @@ private static void SetsTest() {
183190
System.out.println("-------------------------------------------");
184191

185192
}
193+
194+
private static void QueueTest() {
195+
Queue<Integer> arrayBlockingQueue = new ArrayBlockingQueue<Integer>(3);
196+
try {
197+
arrayBlockingQueue.add(10);
198+
arrayBlockingQueue.add(20);
199+
arrayBlockingQueue.add(30);
200+
} catch (IllegalStateException e) {
201+
e.printStackTrace();
202+
}
203+
204+
System.out.println(arrayBlockingQueue);
205+
Integer val = arrayBlockingQueue.remove();
206+
System.out.println(val);
207+
System.out.println(arrayBlockingQueue);
208+
val = arrayBlockingQueue.remove();
209+
System.out.println(val);
210+
System.out.println(arrayBlockingQueue);
211+
val = arrayBlockingQueue.remove();
212+
System.out.println(val);
213+
}
214+
215+
private static void IteratorTest() {
216+
LinkedList<String> animals = new LinkedList<String>();
217+
animals.add("fox");
218+
animals.add("meerkat");
219+
animals.add("guinea pig");
220+
animals.add("rabbit");
221+
animals.add("turtle");
222+
223+
System.out.println("\"Old\", classical way of iteration, removing \"guinea pig\":");
224+
System.out.println("-------------------------------------------");
225+
Iterator<String> it = animals.iterator();
226+
while (it.hasNext()) {
227+
String animal = it.next();
228+
System.out.println(animal);
229+
if (animal.equals("guinea pig")) {
230+
it.remove();
231+
}
232+
}
233+
System.out.println("-------------------------------------------");
234+
System.out.println("Modern way of iteration (>=Java5) - cannot remove element during iteration:");
235+
System.out.println("(animals.remove() would throw an exception)");
236+
System.out.println("-------------------------------------------");
237+
for (String animal : animals) {
238+
System.out.println(animal);
239+
}
240+
System.out.println("-------------------------------------------");
241+
System.out.println("Adding items to a list during iteration: ListIterator");
242+
System.out.println("-------------------------------------------");
243+
ListIterator<String> lit = animals.listIterator();
244+
while (lit.hasNext()) {
245+
String animal = lit.next();
246+
System.out.println(animal);
247+
if (animal.equals("turtle")) {
248+
lit.add("giraffe");
249+
}
250+
}
251+
System.out.println("-------------------------------------------");
252+
System.out.println("After adding \"giraffe\"");
253+
System.out.println("-------------------------------------------");
254+
lit = animals.listIterator();
255+
while (lit.hasNext()) {
256+
System.out.println(lit.next());
257+
}
258+
System.out.println("-------------------------------------------");
259+
}
186260
}

0 commit comments

Comments
 (0)