Map的遍历(哈希表)
package MapQueueStack;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class TestMap {
public static void main(String[] args){
Map<String,String> map=new HashMap<String,String>();
map.put("1","a");
map.put("2", "b");
map.put("3", "c");
//最简洁,最通用的遍历方式
for(Map.Entry<String, String> entry:map.entrySet()){
System.out.println(entry.getKey()+"="+entry.getValue());
}
//Java5之前的比较简洁方便的遍历方式1
System.out.println("----------1----------");
for (Iterator<Map.Entry<String, String>> it=map.entrySet().iterator();it.hasNext();) {
Map.Entry<String, String> entry=it.next();
System.out.println(entry.getKey()+"="+entry.getValue());
}
//Java5之前的比较简洁方便的遍历方式2
System.out.println("----------2----------");
for (Iterator<String> it=map.keySet().iterator();it.hasNext();) {
String key=it.next();
System.out.println(key+"="+map.get(key));
}
}
}
2、队列的遍历Queue
package MapQueueStack;
import java.util.Queue;
import java.util.concurrent.LinkedBlockingQueue;
import StaticDemo.staticBlock;
public class TestQueue {
public static void main(String[] args){
Queue<Integer> q=new LinkedBlockingQueue<Integer>();
//初始化队列
for (int i = 0; i <5; i++) {
q.offer(i);//向队列插入数据,并插入第一个
}
System.out.println("-------1--------");
for(Integer x:q){
System.out.println("队列:"+x);
}
System.out.println("-------2--------");
while (q.peek()!=null) {
System.out.println("duilie:"+q.poll());
}
}
}
3.栈的遍历Stack
package MapQueueStack;
import java.util.Stack;
public class TestStack {
public static void main(String[] args){
Stack<Integer> s=new Stack<Integer>();
for (int i = 0; i <10; i++) {
s.push(i);
}
//集合遍历方式
for(Integer x:s){
System.out.println("栈:"+x);
}
System.out.println("----------1----------");
//栈弹出遍历方式
//while(s.peek()!=null){}//不健壮的判断方式,容易抛出异常,正确写法是下面:
while(!s.empty()){
System.out.println("zhan:"+s.pop());
}
System.out.println("----------2----------");
//错误遍历方式
for(Integer x:s){
System.out.println("栈:"+s.pop());
}
}
}