目录
Java的三种常规遍历方式:
一、传统的for循环遍历
二、增强型foreach循环遍历
三、Iterator迭代器遍历
Lsit集合遍历
Set集合遍历
Map集合遍历
Java的三种常规遍历方式:
一、传统的for循环遍历
遍历者自己在集合外部维护一个计数器,然后依次读取每一个位置的元素,当读取到最后一个元素后,停止。主要就是需要按元素的位置来读取元素。
二、增强型foreach循环遍历
根据反编译的字节码可以发现,foreach内部也是采用了Iterator的方式实现,只不过Java编译器帮我们生成了这些代码。
三、Iterator迭代器遍历
每一个具体实现的数据集合,一般都需要提供相应的Iterator。相比于传统for循环,Iterator取缔了显式的遍历计数器。 所以基于顺序存储集合的Iterator可以直接按位置访问数据。而基于链式存储集合的Iterator,正常的实现,都是需要保存当前遍历的位置。然后根据当前位置来向前或者向后移动指针。
Lsit集合遍历
1.使用for循环遍历Lsit集合:
1
2
3for( int i = 0 ; i < list.size() ; i++) { System.out.println(list.get(i)); }
2.使用foreach循环遍历Lsit集合:
1
2
3for(String str : list) { System.out.println(str); }
3.使用Iterator迭代器遍历Lsit集合:
1
2
3
4Iterator<String> iterator = list.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); }
Set集合遍历
1.不能使用for循环遍历Set集合,因为Set集合没有下标,Set集合存和取的顺序不一致。
2.使用foreach循环遍历Set集合:
1
2
3for (String str : set) { System.out.println(str); }
3.使用Iterator迭代器遍历Set集合:
1
2
3
4Iterator<String> iter = set.iterator(); while (iter.hasNext()) { System.out.println(iter.next()); }
Map集合遍历
1.通过Map.entrySet遍历key和value,在for-each循环中使用entries来遍历(推荐)
1
2
3for (Map.Entry<Integer, String> entry : map.entrySet()) { System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); }
2.通过Map.keySet遍历key,通过键找值value遍历(效率低)
1
2
3for (Integer key : map.keySet()) { System.out.println("Key = " + key + ", Value = " + map.get(key)); }
3.如果只需要map中的键或者值,你可以通过Map.keySet或Map.values来实现遍历,而不是用entrySet
3.1遍历map中的键
复制代码1
2
3for (Integer key : map.keySet()) { System.out.println("Key = " + key); }
3.2遍历map中的值
复制代码1
2
3for (String value : map.values()) { System.out.println("Value = " + value); }
4.使用Iterator迭代器遍历key和value
1
2
3
4
5Iterator<Map.Entry<Integer, String>> entries = map.entrySet().iterator(); while (entries.hasNext()) { Map.Entry<Integer, String> entry = entries.next(); System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); }
最后
以上就是大气花瓣最近收集整理的关于Java使用for foreach循环和Iterator迭代器遍历List Set Map集合Java的三种常规遍历方式:Lsit集合遍历Set集合遍历Map集合遍历的全部内容,更多相关Java使用for内容请搜索靠谱客的其他文章。
发表评论 取消回复