总结for循环及for循环增强遍历数组,list,set和map

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了总结for循环及for循环增强遍历数组,list,set和map相关的知识,希望对你有一定的参考价值。

一.对于集合

(1)普通for循环

        int[] arr = { 2, 1, 2 };
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }

(2)for循环增强

        int[] arr = { 2, 1, 2 };
        for (int i : arr) {
            System.out.println(i);
        }
        System.out.println("********************");
        //二维数组
        int [][]arr1={{2,1,3},{1,2,5}};
        for(int []i:arr1){
            for(int j:i){
                System.out.println(j);
            }
        }

二.对于list,list是一个接口,有很多实现它的类,例如ArrayList,LinkedList,Vector。

(1)使用普通的for循环和迭代器

        List<String> list=new ArrayList<String>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        //普通的遍历
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }
        System.out.println("****************");
        //使用迭代器
        Iterator iterator=list.iterator();
        while(iterator.hasNext()){
            System.out.println(iterator.next());
        }

(2)使用for循环增强

        for(String s:list){
            System.out.println(s);
        }

三.对于set接口,有很多实现它的类,HashSet(无序),LinkedHashSet(有序)

(1)使用迭代器。注意set没有get()方法!!!

        Set<String> set=new HashSet<>();
        set.add("a");
        set.add("b");
        set.add("c");
        Iterator iterator=set.iterator();
        while(iterator.hasNext()){
            System.out.println(iterator.next());
        }

(2)使用for循环增强

        for(String s:set){
            System.out.println(s);
        }

四.对于map接口,有很多实现它的类,HashMap,LinkedHashMap,HashTable。以键值对的形式存放

(1)使用迭代器,有两种方式

        Map<String,String> map=new HashMap<>();
        map.put("1", "aa");
        map.put("2", "bb");
        map.put("3", "cc");
        //方法1:使用迭代器,取keySet()
        Iterator iterator=map.keySet().iterator();
        while(iterator.hasNext()){
            String key=iterator.next().toString();
            String value=map.get(key);
            System.out.println("key="+key+"  value="+value);
        }
        //方法2:使用迭代器,取entrySet()
        Iterator iterator2=map.entrySet().iterator();
        while(iterator2.hasNext()){
            Map.Entry<String, String> entry=(Map.Entry<String,String>)iterator2.next();
            System.out.println(entry.getKey()+"  "+entry.getValue());
        }

(2)增强for循环,对上面2种方法改写

        //方法1
        for(String s:map.keySet()){
            System.out.println(s+"  "+map.get(s));
        }
        //方法2使用增强for,entrySet()
        for(Map.Entry me:map.entrySet()){
            System.out.println(me.getKey()+"  "+me.getValue());
        }

2

以上是关于总结for循环及for循环增强遍历数组,list,set和map的主要内容,如果未能解决你的问题,请参考以下文章

java关于集合的遍历与增强for循环(foreach)的使用

JAVA中循环删除list中元素的方法总结

JAVA中循环删除list中元素的方法总结

JAVA中循环删除list中元素的方法总结

JAVA中循环删除list中元素的方法总结

2020/7/14 java 增强for 泛型 list接口 list接口 set接口