Iterator
抽象类,不能实例化
public interface Iterator {
boolean hasNext();
Object next();
void remove();
}
迭代器 iterator 用法
Java 中的 Iterator 只能单向移动:
(1) 使用方法 iterator() 要求容器返回一个 Iterator。第一次调用 Iterator 的 next() 方法时,它返回序列的第一个元素。
注意:iterator() 方法是 java.lang.Iterable 接口,被 Collection 继承。
(2) 使用 next() 获得序列中的下一个元素。
(3) 使用 hasNext() 检查序列中是否还有元素。
(4) 使用 remove() 将迭代器新返回的元素删除,即删除当前元素。
基本用法:有一篇博客写的很好
import java.util.*;
public class ArrayListDemo{
// public static void main(String[] args){
// int i;
// List<String> list1 = new ArrayList<String>();
// list1.add("gyy");
// list1.add("g1");
// list1.add("g2");
// for(String str:list1){
// System.out.println(str);
// }
// String[] s = new String[list1.size()];
// list1.toArray(s);
// for(i=0;i<s.length;i++){
// System.out.println(s[i]);
// }
// Iterator<String> ii = list1.iterator();//Iterator是抽像的,无法实例化
// while(ii.hasNext()){
// System.out.println(ii.next());
// }
// }
public static void main(String[] args){
int i;
List<Integer> list1 = new ArrayList<Integer>();
list1.add(11);
list1.add(22);
list1.add(33);
for(Integer l1:list1){
System.out.println(l1);
}
Integer[] s = new Integer[list1.size()];
list1.toArray(s);
for(i=0;i<s.length;i++){
System.out.println(s[i]);
}
Iterator<Integer> ii = list1.iterator();//Iterator是抽像的,无法实例化
while(ii.hasNext()){
System.out.println(ii.next());
}
}
}
ArrayList遍历
ArrayList遍历,3种方法
采用迭代器,并将Integer转化为int
import java.util.*;
public class ArrayListDemo{
// public static void main(String[] args){
// int i;
// List<String> list1 = new ArrayList<String>();
// list1.add("gyy");
// list1.add("g1");
// list1.add("g2");
// for(String str:list1){
// System.out.println(str);
// }
// String[] s = new String[list1.size()];
// list1.toArray(s);
// for(i=0;i<s.length;i++){
// System.out.println(s[i]);
// }
// Iterator<String> ii = list1.iterator();//Iterator是抽像的,无法实例化
// while(ii.hasNext()){
// System.out.println(ii.next());
// }
// }
public static void main(String[] args){
int i;
List<Integer> list1 = new ArrayList<Integer>();
list1.add(11);
list1.add(22);
list1.add(33);
for(Integer l1:list1){
System.out.println(l1);
}
Integer[] s = new Integer[list1.size()];
list1.toArray(s);
for(i=0;i<s.length;i++){
System.out.println(s[i]);
}
int[] kk= new int[list1.size()];
int j=0;
Iterator<Integer> ii = list1.iterator();//Iterator是抽像的,无法实例化
while(ii.hasNext()){
kk[j]=ii.next().intValue();
System.out.println(kk[j]);
j++;
}
for(int k:kk){
System.out.println("-------");
System.out.println(k);
}
}
}
Map遍历
Map遍历四种方法
//map遍历
import java.util.*;
public class MapIteratorDemo{
public static void main(String[] args){
Map<String,String> mm = new HashMap<String,String>();
mm.put("gyy","11g");
mm.put("gy1","12g");
mm.put("gy2","13g");
System.out.println("---key---");
for(String key:mm.keySet()){
System.out.println(key);
}
System.out.println("---v---");
for(String v:mm.values()){//方法小写。类大写
System.out.println(v);
}
System.out.println("---kk-vv----");
for(Map.Entry<String,String> ee:mm.entrySet()){
System.out.println(ee);
}
Iterator<Map.Entry<String,String>> ii = mm.entrySet().iterator();
System.out.println("---iterator---");
while(ii.hasNext()){
System.out.println(ii.next());
}
}
}