java中Collection集合、Iterator迭代器接口、for each循环遍历集合或对象

Collection集合:

概念:集合是java中提供一种存储多个数据的容器;数组也是存储数据的容器,集合和数组的区别就是集合的长度可以改变,而数组的长度不可以改变;集合可以存储多种类型的对象数据,而数组只能存储同种类型的数据;集合只能存储对象类型数据,而数组可以存储存储基本类型数据或对象数据,但是不能存储在同一个数组中;集合有很多种,ArrayList集合只是其中一个;

集合框架(集合架构)

有的集合中存在共同的特点,java中把共同的特点抽取为一个父类(接口),集合中有两个接口,分别为List接口和Set接口,其中List接口的子类有:

Vector集合:后面介绍

ArrayList集合:后面介绍

LinkedList集合:后面介绍

List接口特点:有序的集合(存储和取出元素顺序相同)、允许储存重复元素、有索引,可通过for循环遍历;

Set接口的子类有:

TreeSet集合:后面介绍

HashSet集合:后面介绍

LinkedHashSet集合:后面介绍

Set接口特点:不允许储存重复元素、没有索引,不能通过简单的for循环遍历
java中Collection集合、Iterator迭代器接口、for each循环遍历集合或对象
List接口和Set接口也有父类接口(Collection接口,位于java.util下,是集合中最顶层的接口),Collection接口定义所有集合*同的方法,没有带索引的方法,它们的方法都可以被这些单集合使用,常用共同方法如:

add添加元素到当前集合中,返回布尔值、

clear清空集合中所有的元素、

remove移除某个元素、

contains判断集合中是否包含某元素、

isEmpty判断当前集合是否为空集合、

size返回集合中元素的个数、

toArray将集合转换为数组,原集合不变

//1.导入Collection包和ArrayList包:
import java.util.Collection;
import java.util.ArrayList;
public class CollectionInterface{
    public static void main(String[] args){
        // 2.创建集合对象:
       Collection<String> collections = new ArrayList<>();//父类指向子类对象,多态的形式创建对象(集合的对象),这里的单集合可以是Collection下的任意一个单集合,并且下面的方法通用。
       System.out.println(collections); //[],返回一个空,说明覆盖重写了toString方法。
       
       //3.Collection中常用方法:
        //3-1:add(),添加元素到集合中,并返回布尔值,成功返回true,如:
        collections.add("苦海");
        collections.add("疾苦");
        collections.add("世俗");
        System.out.println(collections.add("地狱"));//true
        System.out.println(collections); //[苦海, 疾苦, 世俗, 地狱]

        // 3-2:remove(),移除某个元素,返回布尔值,如:
        System.out.println(collections.remove("世俗"));//true,集合中有这个值则移除成功并返回true,如果没有这个值,则移除失败,返回false
        System.out.println(collections); //[苦海, 疾苦, 地狱]

        // 3-3:contains(),判断是否包含某个元素,如:
        System.out.println(collections.contains("苦海"));//true
        System.out.println(collections.contains("世俗"));//false

        // 3-4:isEmpty(),判断当前集合是否为空集合,返回布尔值,如:
        System.out.println(collections.isEmpty());//false

        // 3-5:size(),返回当前集合元素的个数,如:
        System.out.println(collections.size());//3

        // 3-6:toArray(),将集合转换为数组并返回,注意这里是创造出新的数组,原集合不变,如:
        System.out.println(collections.toArray()[0]);//苦海,调用数组的第一个元素,直接打印数组为地址值
        System.out.println(collections);//[苦海, 疾苦, 地狱]

        // 3-6:clear(),清除集合中的元素,如:
        collections.clear();
        System.out.println(collections);//[]
    };
};

Iterator迭代器接口:

迭代器是集合中通用的取出元素的对象,Iterator位于java.util包下;

迭代器工作原理:取元素之前先判断集合中是否有元素,如果有,则取出,之后继续判断是否有元素,如果还有,那么继续取出,一直这样循环,直到没有元素时停下,这也称为迭代。

常用方法:迭代器中有两个常用方法:hasNext判断集合中是否有元素和Next取出集合中下一个元素;

// 1.导包:
import java.util.Vector;
import java.util.Collection;
import java.util.Iterator;
public class IteratorInterface{
    public static void main(String[] args){
        // 2.迭代器的使用步骤:
        // 2-1:Iterator是一个接口,需要实现类对象才可以使用,但是Collection中提供了方法iterator即可返回迭代器(多态)
        // 2-2:使用Iterator中的hasNext方法判断集合中是否还有元素,有则执行第三步,否则结束迭代过程
        // 2-3:使用Iterator中的next方法取出下一个元素,如:
        Collection<String> collections = new Vector<String>();//创建一个集合对象

        collections.add("2米");//添加元素
        collections.add("5米");
        collections.add("8米");

        Iterator<String> iterators = collections.iterator();//获取迭代器,迭代器也有泛型,其类型应和集合保持一致,如String;接口=实现类,多态

        while(iterators.hasNext()){//结合循环进行迭代
            System.out.println(iterators.next());/*  
            2米
            5米
            8米*/
        };      

        // 3.java中for each循环,专用于遍历集合或对象,其语法使用如下:
        for(String str : collections){//语法:str为变量(变量名自定义)代表集合或对象中的元素或属性或方法,前面用修饰符进行修饰 :集合或对象
            System.out.println("for循环遍历:" + str);
        }
    };
};

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海

上一篇:用Python刷LeetCode必备知识点3 - collections.defaultdict()


下一篇:Collection工具类