黑马程序员_日记67_高级for
来源:互联网 发布:大班美工区域材料投放 编辑:程序博客网 时间:2024/05/20 07:15
——- android培训、java培训、期待与您交流! ———-
foreach,高级for循环练习。
高级for也可以对集合进行遍历。
格式:
for(数据类型 变量名:被遍历的数组或者Collection集合)
{
}
那么高级for和iterator的区别是什么呢?
高级for只可以进行遍历,不能对集合进行其他操作。
而iterator可以对集合中元素进行remove操作。
如果使用ListIterator还可以对根据角标对集合进行操纵。
除此之外,高级for还有一个局限性:
高级for必须有一个指定的目标。
在对数组遍历的时候,还是使用传统for比较好。
import java.util.*;public class ForEachDemo{ public static void sop(Object obj) { System.out.println(obj); } public static void main(String[] args) { //1 创建一个哈希映射 HashMap<Integer,String> hm = new HashMap<Integer,String>(); //2 添加映射项 hm.put(new Integer(2),"Jack"); hm.put(new Integer(3),"Bob"); hm.put(new Integer(5),"Tom"); hm.put(new Integer(1),"Alice"); hm.put(new Integer(6),"Jimmy"); //3 迭代器取出 //3.1 第一种方式 for(Iterator<Integer> it = hm.keySet().iterator(); it.hasNext(); ) { Integer key = it.next(); String value = hm.get(key); sop(key+"..."+value); } //3.2第二种方式 for(Iterator<Map.Entry<Integer,String>> it = hm.entrySet().iterator(); it.hasNext(); ) { Map.Entry<Integer,String> me = it.next(); Integer key = me.getKey(); String value = me.getValue(); sop(key+"---"+value); } //4 高级for取出 //4.1 第一种方式 for(Integer key : hm.keySet() ) { String value = hm.get(key); sop(key+":::"+value); } //4.2 第二种方式 for(Map.Entry<Integer,String> me : hm.entrySet()) { Integer key = me.getKey(); String value = me.getValue(); sop(key+"***"+value); } } public static void forEachDemo() { //1 建立数组 int[] arr = {3,6,2,4,1}; //2 传统for遍历数组 for(int i = 0; i < arr.length; i++) sop(arr[i]); //3 高级for遍历 for(int i : arr) sop(i); } public static void forEachDemo_2() { //1 创建存放Integer的集合 ArrayList<Integer> arrList = new ArrayList<Integer>(); //2 添加Integer arrList.add(new Integer(3)); arrList.add(new Integer(2)); arrList.add(new Integer(6)); arrList.add(new Integer(1)); ////3 迭代器取出元素 //for(Iterator<Integer> it = arrList.iterator(); it.hasNext(); ) //sop(it.next()); //4 高级for取出 for(Integer i : arrList) { sop(i); } }}
四种方式遍历HashMap映射后的结果
0 0
- 黑马程序员_日记67_高级for
- 黑马程序员_学习日记11_复习C#(高级)
- 黑马程序员_学习日记3_WinForm
- 黑马程序员_学习日记8_HTML
- 黑马程序员_学习日记16_JavaScript
- 黑马程序员_学习日记19_jQuery
- 黑马程序员_学习日记十一_GUI
- 黑马程序员_java学习日记_数组
- 黑马程序员_java学习日记_集合
- 黑马程序员_学习日记57_702HTML
- 黑马程序员_学习日记58_703JavaScript
- 黑马程序员_日记01(多线程)
- 黑马程序员_日记02(IO)
- 黑马程序员_日记03(网络编程)
- 黑马程序员_学习日记 static
- 黑马程序员_学习日记 struct class
- 黑马程序员_日记1--Java函数
- 黑马程序员_日记2--Java数组
- 简历注意事项
- 关于springmvc中注解@ModelAttribute的bean(对象参数)问题
- 可选参数的便捷使用
- js中url传多个变量可以?
- 如何解决Keil5打红叉的问题
- 黑马程序员_日记67_高级for
- js中url传多个变量可以?
- MPMoviePlayerController刚进入ViewController就横屏满屏幕播放
- java 反射通过get方法获得属性值
- SQL SERVER 和Javascript根据地图经纬度计算距离函数
- js中url传多个变量可以?
- no default or UI configuration directive found boot:
- ObjectAnimator
- once you dive into the logging