Collection集合框架简介 与 泛型的基本概念

本文介绍了Java中的Collection集合框架,包括List接口的几种实现如ArrayList和LinkedList,以及Set接口的实现如HashSet。强调了Collection接口作为单列集合的父接口,提供了如add、remove等共性方法。此外,文章还详细讲解了Iterator接口用于遍历集合的迭代器模式,以及泛型的概念,包括定义和使用泛型类、方法以及接口。最后,讨论了泛型的通配符和上下限的使用场景。
摘要由CSDN通过智能技术生成

Collection集合框架


前言

包含(List接口:Vector集合、ArrayList集合、LinkedList集合)
特点

1、有序的集合,存取顺序一样
2、可以存储重复元素
3、有索引可以使用普通的for遍历

Set接口:TreeSet集合、HashSet集合(无序集合没有重复元素)、LinkedHashSet集合)
特点:

1、不允许重复元素
2、没有索引,不能使用普通的for循环来遍历

两个接口共性抽取形成父接口Collection(定义的是单列集合共性的方法,所有单列集合都可以使用的共性方法)
集合框架的学习:
1、学习顶层:顶层接口/抽象类中的共性方法所有 子类都可以使用
2、学习底层:底层不是接口就是抽象类,需要了解底层的子类创建对象使用

一、Collection接口常用方法

提供所有单列集合都可以使用的共性方法

public boolean add(E e)把给定的对象添加到集合

public void clear();清空集合中所有的元素

public boolean remove(E e);将给定的对象从集合当中删除,如果没有指定的元素会删除失败,返回false

public boolean contains(E e);判断当前集合中是否包含给定的对象

public boolean isEmpty(E e);判断集合是否为空

public int size();返回集合当中的元素个数

public Object[] toArray();把集合当中的元素,存储到数组当中

例如HashSet类 (无序且无重复元素)

public class Demo1Collection {
   
    public static void main(String[] args) {
   
        Collection<String> coll=new HashSet<>();
        //向无序无重复元素的HashSet集合当中添加元素
        coll.add("Arvin");
        coll.add("Kevin");
        coll.add("Kiki");
        System.out.println("集合当中的元素:"+coll);
        coll.remove("Kiki");
        System.out.println("通过remove删除指定元素Kiki后:"+coll);
        boolean a=coll.isEmpty();
        System.out.println("isEmpty判断集合是否为空"+a);
        System.out.println("通过size方法获取集合的元素个数:"+coll.size());
        System.out.println("通过contains方法判断集合当中是否有Kiki元素:"+coll.contains("Kiki"));

        coll.clear();
        System.out.println("通过clear方法清空集合元素后查询是狗为空:"+coll.isEmpty());
        Object[] array=coll.toArray();
        for (int i = 0; i < array.length; i++) {
   
            System.out.println(array[i]);
        }

    }

运行结果:

集合当中的元素:[Kevin, Arvin, Kiki]
通过remove删除指定元素Kiki后:[Kevin, Arvin]
isEmpty判断集合是否为空false
通过size方法获取集合的元素个数:2
通过contains方法判断集合当中是否有Kiki元素:false
通过clear方法清空集合元素后查询是狗为空:true

二、Iterator接口

迭代:即对Collection集合当中通用的取出元素的方式
两个常用的方法:

public boolean hasNext();如果任然有元素可以迭代,则返回true
判断集合有没有下一个元素,有就返回true,没有返回false

E next(ÿ

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值