java循环遍历数组,List,Map

本文详细介绍了Java中数组、List及Map的多种遍历方法,包括传统的for循环、增强for循环(for-each)、迭代器及Map特有的遍历技巧等,并对比了不同方法的适用场景与优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遍历数组
     ①循环遍历数组有2中方式,遍历一维数组只需要一个for循环,遍历二维数组需要2个for循环。
     publicstaticvoidmain(String[] args) {
           Stringarr[][] =new String[][] { { "a"}, { "a", "b" },{"a","b","c" } };
           for ( inti = 0; i < arr.length;i++) {
                for ( intj = 0; j < arr[i].length;j++) {
                     System.out.print(arr[i][j]);
                }
                System.out.println();
           }
     }
     ②for-each语句遍历
     publicstaticvoidmain(String[] args) {
           Stringarr[][] =new String[][] { { "a"}, { "a", "b" },{"a","b","c" } };
           for (String[] i : arr) {//外层遍历得到一维数组
                for (String j : i) {//内层遍历得到数组元素
                     System.out.print(j);
                }
                System.out.println();
           }
     }
2  遍历List
     ①for循环:
     publicstaticvoidmain(String[] args) {
           List<String>list=new ArrayList<String>();
           list.add("a");
           list.add("b");
           list.add("c");
           for(int i=0; i< list.size(); i++){
                System.out.println(list.get(i));
           }
     }
     ②for-each语句遍历
           for(Stringtmp : list){
                System.out.println(tmp);
           }
     ③迭代器遍历
           Iterator<String>tmp=list.iterator();
           while(tmp.hasNext()){
                System.out.println(tmp.next());
           }
           ------------------------------------------------------------
           for(Iterator<String>tmp=list.iterator();tmp.hasNext();){
                System.out.println(tmp.next());
           }
3  遍历Map     
     ①键和值都需要(for-each循环)
     publicstaticvoidmain(String[] args) {
           Map<String,String>map=new HashMap<String, String>();
           map.put("a","b");
           map.put("c","d");
           map.put("e","f");
           for(Map.Entry<String,String>entry:map.entrySet()){
                System.out.println("key="+entry.getKey()+",value="+entry.getValue());
           }
     }
     ②只需要键或者值(可以通过keySet或values来实现遍历,而不是entrySet)
           for(Stringkey:map.keySet()){
                System.out.println("key="+key);
           }
               -------------------------------------------------------------------
           for(Stringvalue:map.values()){
                System.out.println("value="+value);
           }
     ③Itreator遍历
           Iterator<Map.Entry<String, String>>tmp=map.entrySet().iterator();
           while(tmp.hasNext()){//使用泛型
                Map.Entry<String, String>tm=tmp.next();
                System.out.println("key="+tm.getKey()+",value="+tm.getValue());
           }
               -----------------------------------------------------------
           Iterator tmp=map.entrySet().iterator();
           while(tmp.hasNext()){//不使用泛型
                Map.Entry tm= ( Map.Entry) tmp .next();
                Stringkey = (String) tm.getKey();
                Stringvalue = (String) tm.getValue();
                System.out.println("Key = " + key + ", Value = "+ value);
           }
           你也可以在keySet和values上应用同样的方法
     ④通过键找值遍历(效率低)
           for(Stringkey:map.keySet()){
                Stringvalue=map.get(key);
                System.out.println("key="+key+",value="+value);
           }
          





















     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值