package cn.sxt.mycollection;
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;
public class TestIterator {
public static void main(String[] args){
TestIteratorList();
TestIteratorSet();
TestIteratorMap();
}
public static void TestIteratorList(){
List<String> list = new ArrayList<>();
list.add("aa");
list.add("bb");
list.add("cc");
//for遍历ArrayList
for(String i:list){
System.out.println("1--"+i);
}
for(int i=0;i<list.size();i++){
System.out.println("2--"+list.get(i));
}
//使用iterator迭代器遍历list
for(Iterator<String> iter = list.iterator();iter.hasNext();){
String temp = iter.next();
System.out.println(temp);
}
// 获取迭代器
Iterator<String> it = list.iterator();
// 输出集合中的所有元素
while(it.hasNext()) {
System.out.println("while"+"--"+it.next());
}
}
public static void TestIteratorSet(){
Set<String> set = new HashSet<>();//Set/HashSet
set.add("aa");
set.add("bb");
set.add("cc");
for(String i:set){
System.out.println("1--"+i);
}
//使用iterator迭代器遍历list
for(Iterator<String> iter = set.iterator();iter.hasNext();){
String temp = iter.next();
System.out.println(temp);
}
// 获取迭代器
Iterator<String> it = set.iterator();
// 输出集合中的所有元素
while(it.hasNext()) {
System.out.println("while"+"--"+it.next());
}
}
public static void TestIteratorMap(){
Map<Integer,String> map1 = new HashMap<Integer,String>();//Map/HashMap都可以
map1.put(100,"aa");
map1.put(200,"bb");
map1.put(300,"cc");
//iterator第一种遍历map的方式(键值对)
System.out.println("iterator第一种遍历map的方式");
Set<Entry<Integer,String>> ss = map1.entrySet();//Map.Entry/Entry都可以
for(Iterator<Entry<Integer,String>> iter = ss.iterator();iter.hasNext();){
Entry<Integer,String> temp =iter.next();//包含键和值
System.out.println(temp.getKey()+"--"+temp.getValue());
}
Iterator<Entry<Integer,String>> it = ss.iterator();
while (it.hasNext()) {
Map.Entry<Integer,String> s = it.next();
System.out.println("while--"+s.getKey()+"-"+s.getValue());
}
//iterator第二种遍历map的方式(键)
System.out.println("iterator第二种遍历map的方式");
Set<Integer> keySet = map1.keySet();//获取map所有键的集合
for(Iterator<Integer> iter1 =keySet.iterator();iter1.hasNext();){
Integer key = iter1.next();
System.out.println(key+"--"+map1.get(key));
}
Iterator<Integer> iter =keySet.iterator();
while (iter.hasNext()) {
Integer key = iter.next();
String value = map1.get(key);
System.out.println("while--"+key+"-"+value);
}
}
}
Java的ArrayList,HashSet,HashMap 遍历常见写法总结
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 心得感悟 这两天都在学集合的方法,如果没理解透,很容易混淆不同的集合的概念和方法,在多番查阅后,总结了一点集合之间...
- 大纲: 数组与集合的区别 集合的分类 ArrayList与LinkedList区别 HashSet、TreeSet...
- 写在前面: hashSet底层其实是hashmap,所以有些遍历方式他们之前是有共同点的。把map转为set来遍历...
- Map集合概述特点 一个映射不能有重复的键,每个键最多映射到一个值 Map和Collection接口的区别 Map...
- 5月以来,哪怕对市场风向再不敏感的人,也感觉到阵阵凉意。二级市场连续下挫,一级市场融资环境恶化,不论企业融资数量还...