• 增强for循环 Collenction类 迭代器


    集合和数组的区别

    集合的本质就是一个长度可变的数组,最大的差别就是数组的长度是固定的

    Collection集合的常用功能

     
    collection集合是所有单列集合的父接口,在Collection集合当中定义所有单列集合的共性的API方法,这些方法适用于所有的单列集合.增删改查功能
    Collection是一个抽象类所以我们只能使用多态的方法来创建集合对象,他的实现类之一ArrayList集合类
    Collection<String> col1= new ArrayList<>();

    - public boolean add(E e):把给定的对象添加到指定的或者当前的集合当中.
    //add方法,一般情况到返回true,所以可以不用接收.
    boolean b1 = list.add("小王");
    - public void clear():清空集合当中的所有的元素.
    col1.clear();//清空整个集合,置所有值为Null,索引归零

    - public boolean remove(E e): 把给定的对象从当前集合当中删除掉.
    boolean b2 = col1.remove("小王");//此时小王被从集合中删除

    - public boolean contains(E e):判断当前集合当中是否包含给点的对象元素.
    boolean b4 = col1.contains("小王");//判断该集合是否有小王,找到就返回true没找到就是false
    System.out.println(b4);//false
    - public boolean isEmpty():判断当前集合是否为空.
    boolean empty = col1.isEmpty()//判断该集合是否为空不是为Null 有元素为true,没有元素就位false

    - public int size():获取当前集合元素的个数.
    int i=col1.size();他会返回集合中的元素的个数.

    - public Object[] toArray():把当前集合中的元素,存储到一个数组当中.
    Object[] arr = col1.toArray();
    一种快捷操作,能够把集合之中所有的元素从本集合放到一个数组中

    能使用使用迭代器对集合进行取元素
    Iterator是一个接口类,定义了两个方法hasNext()和next();而因为是接口所以无法被创建对象
    而Collection抽象类实现了iterator接口并提供了一个api方法可以返回iterator对象.
    去元素动作
    我们可以通过三步来使用迭代器取出集合中的元素
    1.获取迭代器
    2.使用hasNext()方法判断下一个要取出的元素是否为null
    3.使用next()方法来取出元素.
    举个栗子;
    Collection<String> coll = new ArrayList<>();//通过多态获得Collenction集合抽象类的实现类之一的ArrayList类的对象
    Iterator<String> iterator=coll.iterator();//通过Collection类的api方法来获取iterator迭代器对象
    while(iterator.hasNext()){
    System.out.println("iterator1.next()");
    }
    备注:使用迭代器的时候一定要用hasNext()方法来判断下一个元素是否为null
    不然很容易抛异常
    在调用Iterator接口当中的next方法之前,迭代器的索引位位于第一个元素之前,不指向任何元素,
    当第一次调用迭代器的next方法后,迭代器的索引会向后移动一位,指向第一个元素并将该元素返回,
    当再次调用next方法时,迭代器的索引会指向第二个元素并将该元素返回,以此类推.直到hasNext返回
    false时表示迭代器到达了集合的末尾,终止对元素的遍历.
    NoSuchElementException 
    备注:每次创建一个迭代器,他的迭代进程是不还原的,除非再次创建一个新的迭代器.迭代进程不返回,那么意味着我们取出的迭代元素不可被单个迭代器二次提取.
    另一种也可以遍历出集合中的元素
    增强for循环 foreach
    for(String col:coll){//集合的数据类型 变量名: 集合的名字
    System.out.println(col);
    }








  • 相关阅读:
    Centos7 yum 安装 oracle-rdbms-server-11gR2-pre
    R语言 小程序
    Hadoop! | 大数据百科 | 数据观 | 中国大数据产业观察_大数据门户
    【R】如何确定最适合数据集的机器学习算法
    R语言 recommenderlab 包
    R语言 推荐算法 recommenderlab包
    R语言进行数据预处理wranging
    统计学 nested_design 嵌套设计
    [LeetCode] 160. 相交链表
    [LeetCode] 155. 最小栈
  • 原文地址:https://www.cnblogs.com/rosiness/p/14070648.html
Copyright © 2020-2023  润新知