Collection 和 Collections的区别

Collections是个java.util下的,是针对集合类的一个工具类,提供一系列静态方法,实现对集合的查找、排序、替换、线程安全化(将非同步的集合转换成同步的)等操作,比如:

Collections.sort(list);//list集合进行元素的自然顺序排序
int index = Collections.binarySearch(list,"zz");//二分查找,返回角标。

Collection是个java.util下的接口,它是各种集合结构的父接口,继承于它的接口主要有Set和List,提供了关于集合的一些操作,比如:

  • 添加:
    add(object):添加一个元素
    addAll(Collection) :添加一个集合中的所有元素。
  • 删除:
    clear():将集合中的元素全删除,清空集合。
    remove(obj) :删除集合中指定的对象。注意:删除成功,集合的长度会改变。
    removeAll(collection) :删除部分元素。部分元素和传入Collection一致。
  • 判断:
    boolean contains(obj) :集合中是否包含指定元素 。
    boolean containsAll(Collection) :集合中是否包含指定的多个元素。
    boolean isEmpty():集合中是否有元素。
  • 获取:
    int size():集合中有几个元素。
  • 取交集:
    boolean retainAll(Collection) :对当前集合中保留和指定集合中的相同的元素。如果两个集合元素相同,返回flase;如果retainAll修改了当前集合,返回true。
  • 获取集合中所有元素:
    Iterator iterator():迭代器
  • 将集合变成数组:
    toArray();

分析下面的代码:

Collection list = new ArrayList();
list.add("hello");

已知Collection是接口,那么上面的代码怎理解呢?
——这是java中的一种多态现象。首先要明确java中的接口不能被实例化,但是可以通过接口引用指向一个对象,这样通过接口来调用方法可以屏蔽掉具体的方法的实现,这是在JAVA编程中经常用到的接口回调,也就是经常说的面向接口的编程。
——当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值