import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
/**
* 集合遍历总结(List,Set,Map)
* @author zhou'en'xian
*
*/
public class CollectionIteratorLearn {
public static void main(String[] args) {
List<String> li=new ArrayList <>();
li.add("A");
li.add("B");
Set<Integer> se=new HashSet<>();
se.add(3);
se.add(4);
/**
* 遍历List方法一:普通for循环
*/
Map<Object,Object> ma=new HashMap<>();
ma.put("郑州", "郑州大学");
ma.put("开封", "河南大学");
ma.put("北京", "北京大学");
for(int i=0;i<li.size();i++) {
String a=li.get(i);
System.out.println(a);
};
/**
* 遍历List方法二:增强for循环(使用泛型!)
*/
for(String a:li) {
System.out.println(a);
};
/**
* 遍历List方法三:使用Iterator迭代器(1)
*/
Iterator<String> str=li.iterator();
while(str.hasNext()) {
String str1=str.next();
System.out.println(str1);
};
/**
* 遍历List方法四:使用Iterator迭代器(2)
*/
for(Iterator<String> sr= li.iterator();sr.hasNext();) {
String et=sr.next();
System.out.println(et);
};
/**
* 遍历Set方法一:使用Iterator迭代器(1)
*/
Iterator<Integer> it=se.iterator();
while(it.hasNext()) {
int it1=it.next();
System.out.println(it1);
};
/**
* 遍历Set方法二:使用Iterator迭代器(2)
*/
for(Iterator<Integer> ite=se.iterator();ite.hasNext();) {
int b=ite.next();
System.out.println(b);
};
/**
* 遍历Set方法三:增强for循环
*/
for(int c:se) {
System.out.println(c);
};
/**
* Set集合存储数据无顺序;不能利用索引遍历,即不能使用for循环
*/
/**
* 遍历Map方法一:根据key获取value
*/
Set<Object> obj=ma.keySet();
//把Map集合中的键返回到一个Set集合中,然后利用Set集合遍历方法进行遍历
for(Iterator<Object>iter=obj.iterator();iter.hasNext();) {
Object obje=iter.next();
System.out.println(obje);
};
/**
* 遍历Map方法二:使用entrySet
*/
Set<Entry<Object,Object>> ss=ma.entrySet();
for(Iterator<Entry<Object, Object>> era=ss.iterator();era.hasNext();) {
Object xx=era.next();
System.out.println(xx);
};
}
}