zoukankan      html  css  js  c++  java
  • Java基础中的集合以及迭代器

    集合:

        对于集合,首先要明确的是最顶层的接口是Collection接口类,其包含一些基本的方法以便子类调用,不过在定义的时候最好定义好数据类型,以免遍历时还得必须进行向上转型;特别注意的是其没有关于下标的方法。同时为了方便遍历其元素,建立了一个Iterable类由Collection进行实现其独有的返回迭代器的方法,以便下面的子类进行迭代的实现。

    介绍:集合是java中提供的一种容器,可以存储多个数据;集合的长度是可变的,存储的必须是引用数据类型(数组长度是固定的)。

    集合的继承实现关系:

    特点:list允许出现重复的元素,是有序的,有下标;

              而set是不允许的,无序的,没有下标。

    Collection类:

    Collection<元素类型> 变量名 =new ArrayList<元素类型>();
    //只能存储指定的类型(最好采用这种方法)多态
    
    
    Collection 变量名 = new ArrayList();
    //默认类型为Object,即任何类型的元素都可以存储

     部分方法:

    Collection<Integer> col=new ArrayList<Integer>();
            col.add(123);//new Integer("123");
            col.add(456);
            //判断集合中是否包含此元素
            boolean flag=col.contains(123);
            System.out.println(flag);
           /* //删除元素
            boolean f=col.remove(456);
            System.out.println(f);
            //清空集合中所有元素
            col.clear();*/
            //向下转型
            ArrayList<Integer> arr=(ArrayList<Integer>)col;
            for(int i=0;i<arr.size();i++){
                System.out.println(arr.get(i));
            }
            //将集合->数组
            Object[] obj=col.toArray();
            for(int i=0;i<obj.length;i++){
                System.out.println(obj[i]);
            }
        }

    Iterator迭代器:

    概述:

      Collection集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。

    常用方法:

    hasNext():   如果仍有元素可以迭代,则返回true;(返回一个boolean值)

    next():返回迭代的下一个元素,并把指针向后移动下一位。

    不要在迭代的时候替换,改变集合的长度。

    循环迭代:

    Collection<Integer> col=new ArrayList<Integer>();
            col.add(123);
            col.add(789);
            col.add(456);
            //获取迭代器对象;
            Iterator<Integer> it=col.iterator();
        while(it.hasNext()){
                int i=it.next();
                if(i==789){
                    System.out.println(i);
                }
                
            }
  • 相关阅读:
    ARM Linux异常处理之data abort(二)【转】
    ARM Linux异常处理之data abort(一)【转】
    arm的mmu学习【转】
    使用Squashfs和Overlayfs提高嵌入式Linux文件系统可靠性【转】
    【iView】100. iView踩坑集锦
    【AOP】【Publish-Event】AOP 切面编程 + Spring的publish-event 实现 监听者模式,实现补充业务逻辑开发
    【IDEA】idea打开新项目,左下角的工作栏中没有显示Services解决办法
    【java】ObjectOutputStream & ObjectInputStream 多次写入发生重复写入相同数据的问题
    【JS】时间工具类
    【MySQL】mysql优化集锦
  • 原文地址:https://www.cnblogs.com/heitaitou/p/12850987.html
Copyright © 2011-2022 走看看