java循环遍历数组,List,Map

时间:2025-02-16 10:57:04
遍历数组
     ①循环遍历数组有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(<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<<String, String>>tmp=map.entrySet().iterator();
           while(tmp.hasNext()){//使用泛型
                <String, String>tm=tmp.next();
                System.out.println("key="+tm.getKey()+",value="+tm.getValue());
           }
                -----------------------------------------------------------
           Iterator tmp=map.entrySet().iterator();
           while(tmp.hasNext()){//不使用泛型
                 tm= ( ) 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);
           }