java循环遍历数组,List,Map

来源:互联网 发布:超级玛丽 java 编辑:程序博客网 时间:2024/06/09 20:26
遍历数组
     ①循环遍历数组有2中方式,遍历一维数组只需要一个for循环,遍历二维数组需要2个for循环。
     publicstaticvoidmain(String[]args) {
           Stringarr[][] =newString[][] { { "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[][] =newString[][] { { "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=newArrayList<String>();
           list.add("a");
           list.add("b");
           list.add("c");
           for(inti=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=newHashMap<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());
           }
               -----------------------------------------------------------
           Iteratortmp=map.entrySet().iterator();
           while(tmp.hasNext()){//不使用泛型
                Map.Entrytm= (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);
           }
          





















     
原创粉丝点击