Java基础-常用循环

是否有键值对关系{  
    是:Map  
        键是否需要排序?{  
            是:TreeMap  
            否:HashMap  
            不知道就用HashMap  
    }  
    否:Collection  
        元素是否唯一?{  
            是:Set  
                元素是否需要排序?{  
                    是:TreeSet  
                    否:HashSet  
                }  
            否:List  
                线程安全吗?{  
                    是:Vector  
                    否:ArrayList,LinkedList  
                        查询多:ArrayList  
                        删除多:LinkedList  
                    不知道就用ArrayList  
                }             
        }             
}                 
全都不知道就用ArrayList 
   List<String> list= new ArrayList<String>();
   list.add("1");
   list.add("2");
   list.add("3");
   /**
    * 根据集合类长度遍历(字符串,单维数组可用)
    */
   for (int i = 0; i < list.size(); i++) {
       System.out.println(list.get(i));
   }

   /**
    * 根据新式for-each遍历(推荐)
    */
   for (String a:list) {
       System.out.println(a);

   }
   /**
    * 根据迭代器遍历
    */
   for(Iterator i = list.iterator(); i.hasNext();)
   {
       System.out.println(i.next());
   }

   int[][] arr = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
   System.out.println("遍历二维数组:");
    for (int i = 0; i < arr.length; i++) {
        for (int j = 0; j < arr[i].length; j++) {
            System.out.print(arr[i][j] + " ");
        }
        System.out.println();
    }

//1、遍历Map.entrySet():它的每一个元素都是Map.Entry对象,这个对象中,
//放着的就是Map中的某一对key-value;
//2、遍历Map.keySet():它是Map中key值的集合,我们可以通过遍历这个集合来
//读取Map中的元素;
//3、遍历Map.values():它是Map中value的集合,我们可以直接通过这个集合遍历Map中的值,却不能读取key。
   Map<String, String> map = new HashMap<String, String>();
   map.put("a", "zhangsan");
   map.put("b", "lisi");
   map.put("c", "wangwu");
//      System.out.println(map);

   /**
    * 方法一:获取keySet集合,迭代遍历map
    */
   Set<String> keySet = map.keySet();
   for(Iterator<String> iterator = keySet.iterator();iterator.hasNext();){
       String key = iterator.next();
       String value = map.get(key);
       System.out.println(key+"="+value);
   }
   System.out.println("**********************");

   /**
    * 方法二:获取keySet集合,for-each遍历map
    */
   for(String key : map.keySet()){
       System.out.println(key+"="+map.get(key));
   }
   System.out.println("**********************");

   /**
    * 方法三:获取entrySet,for-each遍历map,推荐使用该方法遍历map集合,尤其是容量大时
    */
   for(Map.Entry<String, String> entry : map.entrySet()){
       System.out.println(entry.getKey()+"="+entry.getValue());
   }
   System.out.println("**********************");

   /**
    * 方法四:获取entrySet,迭代实例遍历map
    */
   Set<Map.Entry<String, String>> entrySet = map.entrySet();
   for(Iterator<Map.Entry<String, String>> iterator = entrySet.iterator();iterator.hasNext();){
       Map.Entry<String, String> entry = iterator.next();
       System.out.println(entry.getKey()+"="+entry.getValue());
   }
   System.out.println("**********************");

   /**
    * 方法五,这种方法遍历的是所有的值
    */
   for(String value : map.values()){
       System.out.println(value);
   }

猜你喜欢

转载自blog.csdn.net/luzhiweistudy/article/details/80347260