单列集合顶层接口Collection

概述

Collection是所有单列集合的父接口,因此在Collection中定义了单列集合(List、Set和Queue)通用的一些方法,这些方法可用于操作所有的单列集合。

共性的方法:

public boolean add(E e):把给定的对象添加到当前集合中 。
public void clear() :清空集合中所有的元素。
public boolean remove(E e):把给定的对象在当前集合中删除。
public boolean contains(E e):判断当前集合中是否包含给定的对象。
public boolean isEmpty():判断当前集合是否为空。
public int size():返回集合中元素的个数。
public Object[] toArray():把集合中的元素,存储到数组中。

代码用例

import java.util.ArrayList;
import java.util.Collection;

public class Demo01Collection {

    /*
        java.util.Collection接口
            所有单列集合的最顶层的接口,里边定义了所有单列集合共性的方法
            任意的单列集合都可以使用Collection接口中的方法

     */

    public static void main(String[] args) {
        //创建集合对象,可以使用多态
        Collection<String> coll = new ArrayList<>();
        System.out.println(coll);//重写了toString方法  输出 []

        /*
            public boolean add(E e):  把给定的对象添加到当前集合中 。
            返回值是一个boolean值,一般都返回true,所以可以不用接收
         */
        boolean b1 = coll.add("张三");
        System.out.println("b1:" + b1);//b1:true
        System.out.println(coll);//[张三]
        coll.add("李四");
        coll.add("李四");
        coll.add("赵六");
        coll.add("田七");
        System.out.println(coll);//[张三, 李四, 李四, 赵六, 田七]

        /*
            public boolean remove(E e): 把给定的对象在当前集合中删除。
            返回值是一个boolean值,集合中存在元素,删除元素,返回true
                                集合中不存在元素,删除失败,返回false
         */
        boolean b2 = coll.remove("赵六");
        System.out.println("b2:" + b2);//b2:true

        boolean b3 = coll.remove("赵四");
        System.out.println("b3:" + b3);//b3:false
        System.out.println(coll);//[张三, 李四, 李四, 田七]

        /*
            public boolean contains(E e): 判断当前集合中是否包含给定的对象。
            包含返回true
            不包含返回false
         */
        boolean b4 = coll.contains("李四");
        System.out.println("b4:" + b4);//b4:true

        boolean b5 = coll.contains("赵四");
        System.out.println("b5:" + b5);//b5:false

        //public boolean isEmpty(): 判断当前集合是否为空。 集合为空返回true,集合不为空返回false
        boolean b6 = coll.isEmpty();
        System.out.println("b6:" + b6);//b6:false

        //public int size(): 返回集合中元素的个数。
        int size = coll.size();
        System.out.println("size:" + size);//size:4

        //public Object[] toArray(): 把集合中的元素,存储到数组中。
        Object[] arr = coll.toArray();
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");//张三 李四 李四 田七
        }
        System.out.println(" ");

        //public void clear() :清空集合中所有的元素。但是不删除集合,集合还存在
        coll.clear();
        System.out.println(coll);//[]
        System.out.println(coll.isEmpty());//true
    }
}

Collection接口遍历元素的方式

1.使用迭代器遍历(Iterator)

迭代器的基本介绍
  • Iterator对象称为迭代器,主要用于遍历Collection集合中的元素
  • 所有实现Collection接口的的集合类都有一个iterator()方法,用以返回一个实现Iterator接口的对象,即可以返回一个迭代器3).Iterator仅用于遍历集合,Iterator本身并不存放对象
迭代器的执行原理

1).通过Collection接口实现类的iterator()方法得到一集合的迭代器(Iterator)

Iterator iterator = list.iterator();

2).通过迭代器(Iterator)里的hasNext()方法判断集合是否有下一个元素,如果有返回true,否则返回false

while (iterator.hasNext()){

            System.out.println(iterator.next());

        }

3).通过迭代器(Iterator)里的next()方法返回指针下移后集合位置上的元素(next()方法作用是指针下移并且返回下移后集合位置上的元素)

4).原理图

5).代码演示

public static void main(String[] args) {
        List list = new ArrayList<>();
        list.add("jack");
        list.add(10);
        list.add(true);
        //使用迭代器遍历集合
        //1.先得到list集合的迭代器(Iterator)
        Iterator iterator = list.iterator();
        //2.使用while循环遍历
        while (iterator.hasNext()){
            //3.返回下一个元素
            Object o = iterator.next();
            System.out.println(o);//遍历完最终输出结果为:jack 10 true
        }
    }

2.使用增强for循环

增强for循环可以代替Iteratro迭代器。

1).基本语法

for(元素类型 元素名:集合名或数组名){
    访问元素
}

2).代码演示

public static void main(String[] args) {
        List list = new ArrayList<>();
        list.add("jack");
        list.add(10);
        list.add(true);
        //使用增强for循环遍历集合
        for (Object o :  list) {
            System.out.println(o);
        }
    }

3).特点:

        增强for循环就是简化版的Iterator迭代器,本质一样,只能用于遍历集合或数组

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值