java中的三大集合遍历及foreach循环总结

对于java中的三大集合的遍历及foreach我做了一个简单的总结,分享一下学习心得。

public static void main(String[] args) {
		
		//list集合
		List<String> list=new ArrayList<String>();
		list.add("小米");
		list.add("华为");
		list.add("中兴");
		list.add("苹果");
		list.add("魅族");
		
		//1、for循环遍历,省列
		
		//2、list独有迭代器遍历集合
	    ListIterator<String> it=list.listIterator();
	    while(it.hasNext()) {
	    	System.out.println(it.next());
	    }
	    
	    //3、迭代器遍历
	    Iterator<String> its=list.iterator();
	    while(its.hasNext()) {
	    	System.out.println(its.next());
	    }
	    
	    //Iterator另一种写法
	    for(Iterator iterator = list.iterator();iterator.hasNext();){                                       
	        System.out.println(iterator.next());               
	    }
	    
	    //4、增强for循环
	    for(String s:list) {
	    	System.out.println(s); 
	    }
	    
	    
	    System.out.println("-------set--------");
	    //set集合
	    Set<String> set=new HashSet<String>();
	    set.add("张三");
	    set.add("李四");
	    set.add("王五");
	    //将list集合添加到set集合
	    set.addAll(list);
	    
	    //1、增强for循环
	    for(String s:set) {
	    	System.out.println(s);
	    }
	    
	    //2、迭代器
	    Iterator<String> itset=set.iterator();
	    while(itset.hasNext()) {
	    	System.out.println(itset.next());
	    }
	    
	    //迭代器另外一种写法
	    for(Iterator<String> iterator= set.iterator();iterator.hasNext();) {
	    	System.out.println(iterator.next());
	    }
	    
	    System.out.println("-------map集合-----------");
	    //map集合
	    Map<Integer, String> map = new HashMap<Integer,String>();
	    map.put(1, "北京");
	    map.put(2, "上海");
	    map.put(3, "南京");
	    map.put(4, "广州");
	    map.put(5, "深圳");
	    
	    //1、增强for循环
	    Set<Integer> mapset = map.keySet();
	    for(Integer i:mapset) {
	    	System.out.println(map.get(i));
	    }
	    
	    //2、迭代器
	    Iterator<Integer> itmap = mapset.iterator();
	    while(itmap.hasNext()) {
	    	System.out.println(map.get(itmap.next()));
	    }
	    
	    /* entrySet() 返回此映射中包含的映射关系的 Set 视图
	     * 
	     * Map.Entry<Integer, String>是一个接口
	     */
	    //3、通过entrySet()方法获得映射关系的 Set 视图,用迭代器遍历
	    Iterator<Map.Entry<Integer, String>> itentry=map.entrySet().iterator();
		while(itentry.hasNext()) {
			Map.Entry<Integer, String> entry=itentry.next();
			System.out.println(entry.getKey()+"\t"+entry.getValue());
		}
		
		//4、通过entrySet()方法获得映射关系的 Set 视图,用增强for循环遍历。推荐,尤其是容量大时
		Set<Map.Entry<Integer, String>> entryset=map.entrySet();
		for(Map.Entry<Integer, String> entry:entryset) {
			System.out.println(entry.getKey()+"\t"+entry.getValue());
		}
		//简写如下
		for(Map.Entry<Integer, String> entry:map.entrySet()) {
			System.out.println(entry.getKey()+"\t"+entry.getValue());
		}
			
		//5、只遍历值,不能遍历键
		for(String value:map.values()) {
			System.out.println(value);
		}
		
		//foreach循环(增强for循环)遍历数组的总结
		//1、foreach循环遍历数组
		int [] arr= {1,23,4,32,5,7,99};
		for(int i:arr) {
			System.out.println(i);
		}
		
		///2、foreach循环遍历二数组,n维数组依此类推
		int [][] arr1= {{2,34},{5,76,8},{9,5,33,6}};
		for(int [] x:arr1) {
			for(int y:x) {
				System.out.println(y);
			}
		}
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值