42、Collection集合

Collection集合

数组vs集合

  • 数组长度是固定的,集合的长度是可变的。
  • 数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。

List接口:(Vector集合,ArrayList集合,LinkedList集合的共性抽取)

  1. 有序的集合(存储和取出元素顺序相同)
  2. 允许存储重复的元素
  3. 有索引,可以使用普通的for循环遍历

List集合:有索引,可以存储重复元素,可以保证存取顺序
ArrayList:底层是数组实现的,查询快,增删慢
LinkList:底层是链表实现的,查询慢,增删快

Set接口:(TreeSet集合,HashSet集合,LinkedHashSet集合(HashSet集合的子集)的共性抽取)

  1. 无序的集合(存储和取出元素顺序可能不相同)
  2. 不允许存储重复元素
  3. 没有索引(不能使用普通的for循环遍历)

Set集合:无索引,不可以存储重复元素,存取无序

Collection接口:(List接口,Set接口的共性抽取)

  • 没有带索引的方法

集合框架的学习方式

  1. 学习顶层:学习顶层接口/抽象类中共性的方法,所有的子类都可以使用。
  2. 使用底层:由于顶层不是接口就是抽象类,无法创建对象使用,所以需要使用底层的子类创建对象使用。

Collection集合常用方法

方法作用
boolean add(E e);向集合中添加元素
boolean remove(E e);删除集合中的某个元素
void clear();清空集合所有元素
boolean contain(E e);判断集合中是否包含某个元素
boolean isEmpty();判断集合是否为空
int size();获取集合的长度
Object[] toArray();将集合转成一个数组
public class Demo {
    public static void main(String[] args) {
        //Collection是接口,无法直接创建对象,所以需要实现类
        Collection<String> coll = new ArrayList<>();

        //boolean add(E e) 向集合中添加元素
        coll.add("hello");
        coll.add("world");
        System.out.println(coll);

        //Object[] toArray() 将集合转成一个数组
        Object[] arr = coll.toArray();
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

        //boolean remove(E e) 删除集合中某个元素
        boolean rerult=coll.remove("hello");//删除成功,会返回true
        System.out.println(coll);
        System.out.println(rerult);

        //boolean contains(E e) 判断集合中是否包含某个元素
        boolean flag=coll.contains("world");
        System.out.println(flag);

        //boolean isEmpty() 判断集合是否为空
        System.out.println(coll.isEmpty());

        //int size() 获得数组长度
        System.out.println(coll.size());

        //void clear() 清空集合所有元素
        coll.clear();
        System.out.println(coll);
    }
}

注意:这些方法都是定义在collection最顶层的接口中,它的实现类都可以使用这些方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值