一:引言
关于entry 的解释代码有注释,觉得挺重要。
二:上码
package cn.wyj.two;
import java.util.*;
import java.util.Map.Entry;
public class Demo10_迭代器的使用 {
public static void main(String[] args) {
textList();
System.out.println("********************");
textSet();
System.out.println("********************");
textMap();
}
public static void textList(){
List<String> list = new ArrayList<String>();
list.add("aa");
list.add("bb");
list.add("cc");
for(Iterator<String> ite = list.iterator(); ite.hasNext();){//ite.hasNext();判断容器是否有下一个
String temp = ite.next();//即返回当前对象而且游标也往后移动一下
System.out.println(temp);
}
}
public static void textSet(){
Set<String> set = new HashSet<String>();
set.add("aa");
set.add("bb");
set.add("cc");
for(Iterator<String> ite = set.iterator(); ite.hasNext();){//ite.hasNext();判断容器是否有下一个
String temp = ite.next();//即返回当前对象而且游标也往后移动一下
System.out.println(temp);
}
}
public static void textMap(){
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(100, "王大爷");
map.put(200, "王二爷");
map.put(300, "王三爷");
/**
*
由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系。
Map中采用Entry内部类来表示一个映射项,映射项包含Key和Value
Map.Entry里面包含getKey()和getValue()方法
Set<Entry<T,V>> entrySet()
该方法返回值就是这个map中各个键值对映射关系的集合。
可使用它对map进行遍历。
*/
//第一种map的遍历方式
Set<Entry<Integer,String>> ss = map.entrySet();
for(Iterator<Entry<Integer,String>> ite = ss.iterator(); ite.hasNext();){//ite.hasNext();判断容器是否有下一个
Entry<Integer, String> temp = ite.next();//即返回当前对象而且游标也往后移动一下
System.out.println(temp.getKey()+"---"+temp.getValue());
}
//第二种map的遍历方式
System.out.println("第二种map的遍历方式");
Set<Integer> keyset = map.keySet();
for(Iterator<Integer> ite = keyset.iterator(); ite.hasNext();){
Integer key = ite.next();
System.out.println(key+"---"+map.get(key));
}
}
}