Java之迭代器的使用
- 摘要
- 基础知识
- List迭代器
- Map迭代器
摘要
本博客主要讲解容器的迭代器的使用,包括List、Set和Map等容器
基础知识
这是类的继承关系图
迭代器的原理(一开始迭代器并不指向任何有效元素):
List迭代器
public class TestIterator {public static void main(String[] args) {testIteratorList();}public static void testIteratorList(){List<String> list = new ArrayList<>();list.add("aa");list.add("bb");list.add("cc");//底下就是迭代器遍历打印list中的元素for( Iterator<String> iter = list.iterator(); iter.hasNext();){String temp = iter.next();System.out.println(temp);}}
}
Map迭代器
public class TestIterator {public static void main(String[] args) {testIteratorMap();}public static void testIteratorMap(){Map<Integer, String> map1 = new TreeMap<>();map1.put(100,"aa");map1.put(200, "bb");//Map每个元素都是一个节点,节点的类型为Map.Entry<Integer, String>,这里把map1转换为集合Set<Map.Entry<Integer, String>> set = map1.entrySet();//处理集合的方法for( Iterator<Map.Entry<Integer, String>> iter = set.iterator(); iter.hasNext();){Map.Entry<Integer, String> temp = iter.next();//获取节点的key和valueSystem.out.println(temp.getKey() + ":" + temp.getValue());}}
}
其他的方法:
public class TestIterator {public static void main(String[] args) {testIteratorMap();}public static void testIteratorMap(){Map<Integer, String> map1 = new TreeMap<>();map1.put(100,"aa");map1.put(200, "bb");//把map1的键全部取出来Set<Integer> set = map1.keySet();for( Iterator<Integer> iter = set.iterator(); iter.hasNext();){Integer temp = iter.next();System.out.println(map1.get(temp));}}
}
参考:迭代器