java中数组、集合List和集合Map中所有的遍历方法

一、数组的遍历

1.1、定义一个数组:
int [ ] arr={12,21,23,1,33,53,63};
1.2、遍历数组的方法:
1.2.1 第一种:根据下标遍历数组
for(int i=0;i<arr.length;i++){
    System.out.println(arr[i]);
}
1.2.2 第二种:jdk5.7之后的新特性(增强for循环或者foreach)遍历数组
结构如:
 for(数组中元素的类型 变量名: 数组名){
          System.out.println(变量名)
        }
实例如:
for(int ss:arr){
    System.out.println(ss);
}

二、集合List的遍历(都以ArrayList<>泛型为例,其余的LinkList<>、Vocter<>、HashSet<>、TreeSet<>集合遍历方法都是通用的)

2.1、定义一个ArrayList集合:
ArrayList<String> list = new ArrayList<>();
list.add("sdss");
list.add("sds");
list.add("sd");
list.add("s");
2.2、遍历集合List的方法:
2.2.1 第一种: 获取List迭代器iterator(),去遍历集合List
Iterator<String> it = list.iterator();
        while (it.hasNext()){
            String next = it.next();
            System.out.println(next);
        }
2.2.2 第二种: 通过List下标遍历List集合
 for(int i=0;i<list.size();i++){
        System.out.println(list.get(i));
    }
2.2.3 第三种:jdk5.7之后的新特性(增强for循环或者foreach)遍历List集合
结构如:
 for(List集合泛型中元素的类型 变量名: List集合名){
	          System.out.println(变量名)
	        }
实例如:
 for(String ss:list){
            System.out.println(ss);
        }

三、Map集合的遍历(以HashMap<K,V>泛型为例,其余的Hashtable<K,V>都继承了Map的方法,所以遍历方法都是通用的)。

3.1、定义一个Map集合:
  Map<Integer, String> map = new HashMap<>();
        map.put(1, "zhangsan");
        map.put(2, "lisi");
        map.put(3, "wangwu");
        map.put(4, "zhaoliu");
3.2、遍历集合List的方法:
3.2.1 第一种: 获取所有的键值key,通过遍历键值key,来遍历value(这种方式就是利用Map集合中的keySet()方法去获取到一个所有key的Set集合。效率较低,不适合遍历大量的数据)
Set<Integer> keys = map.keySet();
        for (Integer key : keys) {
            String value = map.get(key);
            System.out.println("键值" + key + "对应的value的值为:" + value);
        }
3.2.2 第二种: Set<Map.Entry<K,V>> entrySet()【这种方式就是利用Map集合中的entrySet()方法将Map集合全部转换成Set集合。Set集合中的元素的类型是:Map.Entry。效率比较高,数据量大的时候使用,因为获取key和value都是直接从node对象中获取的属性值。】
		 Set<Map.Entry<Integer, String>> set = map.entrySet();
        Iterator<Map.Entry<Integer, String>> it = set.iterator();
        
        //Set集合使用迭代器遍历
        while (it.hasNext()) {
            Map.Entry<Integer, String> node = it.next();
            Integer key = node.getKey();
            String value = node.getValue();
            System.out.println("键值" + key + "对应的value的值为:" + value);
        }
        
          //Set集合使用JDK5.7之后的新特性增强for循环foreach遍历
        for(Map.Entry<Integer,String> node : set){
            Integer key = node.getKey();
            String value = node.getValue();
            System.out.println("键值" + key + "对应的value的值为:" + value);
        }
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值