List,Set,Map三大容器的遍历与元素的迭代

通过学习了LIst,Set,Map这三大容器,我根据我自己理解和认识对List,Set,Map这三种容器的元素的遍历以及迭代进行了以下的编写.

:List容器元素的遍历.

      1.普通的for循环对元素进行遍历.

        2.增强for循环即foreach对元素进行遍历.

                a.List容器元素的迭代.

        3.while循环对元素进行遍历.

                b.List容器元素的迭代.

:Set容器元素的遍历.

        4.增强for循环对元素进行遍历.

                c.Set容器元素的迭代.

        5.while循环对元素进行遍历.

                d.Set容器元素的迭代.

:Map容器元素的遍历.

        6.增强for循环对元素进行遍历.

                e.Map容器元素的迭代.

        7.while循环对元素进行遍历.

                f.Map容器元素的迭代.

一.List容器中的元素的特点是元素是有顺序的,且可以有重复元素出现,因此即可以使用普通的for循环进行遍历,也可使用foreach循环进行元素的遍历,List接口下有ArrayList,LinkedList,Vector等子接口.代码如下所示.

 List<String> list =new ArrayList<>();
        //添加元素
        list.add("赵");
        list.add("钱");
        list.add("李");
        for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
        }
        System.out.println("*****************");
        for(String str:list){
            System.out.println(str);

        }
        System.out.println("------------------");
        int x=0;
        while(x<list.size()){
System.out.println(list.get(x));
x++;        }
    }

二:Set容器,HashSet的元素特点是无序,且不可添加重复元素,,TreeSet的元素是有序存放.所以采用foreach循环的方式对HashSet的元素进行遍历.Set接口下有HashSet,TreeSet等子接口.代码如下.

 Set<Integer> set=new HashSet<>();
        set.add(5);
        set.add(2);
        set.add(0);
        set.add(0);
        for(Integer str:set){
 System.out.println(str);
        }

三:Map容器时与List容器,Set容器没有任何联系的一种容器,Map容器中存储方式是双例集合,而List容器,Set容器的存储方式是单例集合.因此不能简单的使用for循环进行遍历,可以keySet与entrySet

两种方法来Map容器中存储的元素进行遍历.且HashMap,TreeMap,等都是Map接口的子接口.代码如下.

 Map<Integer,String> map=new HashMap<>();
        //添加信对象
        String x1 = map.put(1, "马克思");
        String x2 = map.put(2, "恩格斯");
        String x3 = map.put(1, "马化腾");
     Set<Integer> integers = map.keySet();
            for(Integer str1:integers){
                String veaul = map.get(str1);
                System.out.println(str1+"----"+veaul);}
            System.out.println("************");
Set<Map.Entry<Integer, String>> entries = map.entrySet();
        for(Map.Entry<Integer, String> str:entries){
            System.out.println("-----"+str);}

2.a.3b.List容器foreach和while循环的迭代.

 List<Integer> list=new ArrayList<>();
        list.add(5);
        list.add(2);
        list.add(0);
        Iterator<Integer> iterator = list.iterator();
        while(iterator.hasNext()){
            Integer next = iterator.next();
        System.out.println(next);
        }
        System.out.println("******************");
        for(Iterator<Integer> iterator1 = list.iterator();iterator1.hasNext();){
            Integer next1 = iterator1.next();
            System.out.println(next1);
        }

4c.5d.Set容器foreach与while循环的迭代.

Set<Integer> list=new HashSet<>();
        list.add(5);
        list.add(2);
        list.add(0);
        Iterator<Integer> iterator = list.iterator();
        while(iterator.hasNext()){
            Integer next = iterator.next();
        System.out.println(next);
        }
        System.out.println("******************");
        for(Iterator<Integer> iterator1 = list.iterator();iterator1.hasNext();){
            Integer next1 = iterator1.next();
            System.out.println(next1);
        }

6 .e,7.f.Map容器foreach与while循环的迭代.

  Map<Integer,String> map=new TreeMap<>();
        map.put(1,"赵云");
        map.put(2,"马超");
        map.put(3,"关羽");
        Set<Integer> i1 = map.keySet();
        Iterator<Integer> iterator01 = i1.iterator();
    while (iterator01.hasNext()){
        Integer next03 = iterator01.next();
        String s = map.get(next03);
        System.out.println(next03+"--------"+s);
    }
    System.out.println("*********************");
        Set<Map.Entry<Integer, String>> entries = map.entrySet();
        for( Iterator<Map.Entry<Integer, String>> iterator = entries.iterator();iterator.hasNext();){
            Map.Entry<Integer, String> next02 = iterator.next();
            String value02 = next02.getValue();
            System.out.println(next02+"---------"+value02);
        }

----------------------以上纯属个人理解,若有不妥之处,还望理解.玛卡巴卡的小小兔.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玛卡巴卡的小小兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值