Iterator迭代器接口
- Iterator接口主要用于遍历集合元素
- 集合对象每次调用iterator()方法都会得到一个全新的迭代器对象,默认游标都在几个的第一个元素之前
- 遍历集合元素的方法:
package www.bh.c.collectiontest;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
public class IteratorTest {
public static void main(String[] args) {
Collection array = new ArrayList();
array.add("Java");
array.add(123);
array.add(new Date());
Iterator iterator = array.iterator();
System.out.println(iterator.next());
System.out.println(iterator.next());
System.out.println(iterator.next());
System.out.println(iterator.next());
System.out.println("===================");
Iterator iterator1=array.iterator();
for (int i = 0; i < array.size(); i++) {
System.out.println(iterator1.next());
}
System.out.println("======================");
Iterator iterator2=array.iterator();
while (iterator2.hasNext()){
System.out.println(iterator2.next());
}
}
}
package www.bh.c.collectiontest;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
public class IteratorTest2 {
public static void main(String[] args) {
Collection array = new ArrayList();
array.add("Java");
array.add(123);
array.add(new Date());
array.add(false);
System.out.println(array);
Iterator iterator=array.iterator();
while (iterator.hasNext()){
Object next = iterator.next();
if (next.equals(123)){
iterator.remove();
}
}
System.out.println("===============");
System.out.println(array);
}
}
- foreach循环遍历集合元素
- 遍历操作不需获取Collection或数组的长度,无需使用索引访问元素
- 遍历集合的底层调用iterator完成
package www.bh.c.collectiontest;
import java.util.ArrayList;
import java.util.Date;
public class IteratorTest3 {
public static void main(String[] args) {
ArrayList arrayList = new ArrayList();
arrayList.add(123);
arrayList.add("一二三");
arrayList.add(false);
arrayList.add(new Date());
for (Object obj:arrayList) {
System.out.println(obj);
}
}
}
package www.bh.c.collectiontest;
public class Test02 {
public static void main(String[] args) {
int[] i=new int[]{1,2,3,4,5,6};
for (int j:i) {
System.out.println(j);
}
}
}
package www.bh.c.collectiontest;
public class Test02 {
public static void main(String[] args) {
int[] arr=new int[]{1,1,1,1,1,1};
for (int i= 0; i < arr.length; i++) {
arr[i]=2;
}
for (int i = 0; i <arr.length; i++) {
System.out.println(arr[i]);
}
}
}
package www.bh.c.collectiontest;
public class Test02 {
public static void main(String[] args) {
int[] arr=new int[]{1,1,1,1,1,1};
for (int i:arr) {
i=2;
}
for (int i = 0; i <arr.length; i++) {
System.out.println(arr[i]);
}
}
}