一般遍歷list的時候,我們習慣下面的寫法,但這種寫法有缺陷,不能及時釋放iterator的內存
while循環遍歷
@Test public void testIteratorWhile(){ArrayList<String> lists = new ArrayList<>();lists.add("A");lists.add("B");lists.add("C");Iterator<String> iterator = lists.iterator();while (iterator.hasNext()){String next = iterator.next();System.out.println(next);} }
?
?
?
有經驗的開發者,一般都會這么寫,因此for循環比while好用許多?
for循環遍歷
@Test public void testIteratorFor(){ArrayList<String> lists = new ArrayList<>();lists.add("1");lists.add("2");lists.add("3");for(Iterator it = lists.iterator(); it.hasNext(); ) {System.out.println(it.next());} }
?
?
?
?
下面的方法,也是推薦的,尤其是在高并發的情況下,可以節省內存資源,在大括號中間聲明的變量,他的聲明周期就在大括號內
@Test public void testIteratorWhile(){ArrayList<String> lists = new ArrayList<>();lists.add("A");lists.add("B");lists.add("C");{Iterator<String> iterator = lists.iterator();while (iterator.hasNext()){String next = iterator.next();System.out.println(next);}} }