• 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);
                }
                
            }
  • 相关阅读:
    WebGIS前端地图显示之根据地理范围换算出瓦片行列号的原理(核心) 【系列1-1】
    WMTS服务
    WebGIS 分辨率 比例尺和切片
    Mysql Spatial 空间查询参考
    webapi和传统mvc的context和request的区别
    IIS启动32位运行库
    GEOJSON标准格式学习
    gdal笔记之获取矢量面边界点坐标
    关于TensorFlow,你应该了解的9件事
    C#根据时间范围获取每年每月每周的分组
  • 原文地址:https://www.cnblogs.com/heitaitou/p/12850987.html
Copyright © 2020-2023  润新知