zoukankan      html  css  js  c++  java
  • Java_循环

    遍历数组:

    一个栗子:

    public class Test01 {
    	public static void main(String[] args) {
    		int[] aa = {19,92,12,03,45,22};
    		int[] bb = {19,90,03,25,25,48};
    		int[] cc = {10,10,06,10,01,02};
    		
    		//普通for循环
    		for(int i=0;i<aa.length;i++){
    			System.out.println("数组aa :"+aa[i]);
    		}
    		
    		//foreach循环
    		for(int j:bb){
    			System.out.println("数组bb :"+j);
    		}
    		
    		//jdk自带方法
    		System.out.println(java.util.Arrays.toString(cc));
    		
    	}
    }
    

     注意:foreach循环是jdk5之后出现的;

    Arrays工具类中的toString()方法是将数组转换为字符串输出。

    遍历集合:

    1)遍历List集合:

    一个栗子:

    public class Test02 {
    	public static void main(String[] args) {
    		List<String> list = new ArrayList<String>();
    		list.add("aa");
    		list.add("bb");
    		list.add("cc");
    		
    		//普通for循环
    		for(int i=0;i<list.size();i++){
    			System.out.println("集合元素 :"+list.get(i));
    		}
    		
    		//foreach
    		for(String s : list){
    			System.out.println("集合元素 :"+s);
    		}
    		
    		//迭代器
    		Iterator it = list.iterator();
    		while(it.hasNext()){
    			System.out.println("集合元素 :"+it.next());
    		}
    	}
    }
    

    2)遍历Map集合:

    一个栗子:

    public class Test03 {
    	public static void main(String[] args) {
    		Map<Integer,String> map = new HashMap<Integer,String>();
    		map.put(1,"aaa");
    		map.put(2,"bbb");
    		map.put(3,"ccc");
    		
    		//1、最常见最可取的遍历方法,适用于键值都需要的时候
    		for(Map.Entry<Integer, String> entry:map.entrySet()){
    			System.out.println("the key :"+entry.getKey()+"; the value :"+entry.getValue());
    		}
    		
    		//2、循环遍历key或value,适用于只需要map中的key或value
    		for(Integer key:map.keySet()){
    			System.out.println("map 中的key :"+key);
    		}
    		for(String value:map.values()){
    			System.out.println("map 中的value:"+value);
    		}
    		
    		//3、迭代器遍历
    		Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();
    		while(it.hasNext()){
    			Map.Entry<Integer, String> entry = it.next();
    			System.out.println("the key :"+entry.getKey()+"; the value :"+entry.getValue());
    		}
    		
    		//4、遍历map中的value,但不能遍历key
    		for(String v : map.values()){
    			System.out.println("map 中的value:"+v);
    		}
     	}
    }
    

    注意:

    关于迭代器遍历:虽然代码看起来冗余了一些,但迭代器遍历是老版本java中唯一遍历map的方式。而且有一个好处的是,你可以在遍历中调用iterator.remove()方法来删除这个元素。而其他方法不行,根据javadoc,如果在foreach循环中尝试使用此方法,结果是不可预测的。

    关于通过键找值遍历:这种遍历方式是效率最低的一种,虽然代码看起来很清爽,所以还是尽量避免使用吧。

    总结:

    如果仅需要key或者value,那就使用方法2;如果你的java版本低于5,或者打算在遍历时删除元素,那就只能使用方法3;如果键值都要的话,使用方法1。

  • 相关阅读:
    实验十二:面向对象基础 5、构造方法、重载
    实验十一:面向对象基础 3、类、对象、方法实训
    实验十:程序结构与数组 8、数组实训
    实验九:程序结构与数组 6、方法实训
    课后作业:情境三:程序结构与数组 5、方法
    Java获取随机数
    实验八:程序结构与数组 4、循环实训
    情境三:程序结构与数组 4、循环实训
    ES查询优化
    ES配置搜索规则
  • 原文地址:https://www.cnblogs.com/Rain1203/p/10719105.html
Copyright © 2011-2022 走看看