Collection是整个类集之中单值保存的最大父接口。即:每一次可以向集合里面保存一个对象。
java.util.Collection接口定义:
public interface Collection extends Iterable<E>
Iterable接口是1.5之后新加的规划。
在Collection接口里面定义有如下的常用操作方法:
- public boolean add(E e) 普通方法:向集合里面保存数据
- public boolean addAll(Collection<?extends E> c) 普通方法:追加一个集合
- public void clear() 普通方法:清空集合,根元素为null
- public boolean contains(Object o) 普通方法:判断是否包含指定的内容,需要equals支持
- public boolean isEmpty() 普通方法:判断是否是空集合(不是null 实例化分配内存并且未向集合添加对象)
- public boolean remove(Object o) 普通方法:删除对象 需要equals支持
- public int size() 普通方法:取得集合中保存的元素个数
- public Object[] toArray() 普通方法:将集合变为对象数组保存。
- public Iterator<E>iterator 普通方法:为Iterator接口实例化
其中add()与Iterator()两个方法的使用机率是最高的。但是千万要记住,contains()与remove()一定要依靠equals支持。
从一般的道理来讲,现在已经知道了Collection接口的方法了,就应该使用类为接口实例化并使用。但由于现在开发要求的严格性,所以不会再使用Collection接口,而都会去使用他的两个子接口,List(允许重复),Set(不允许重复)。
历史回顾:
最早Java刚刚推出类集框架的时候,使用最多的就是Collection接口,最大的使用环境就是在EJB上。于是在Java的一个开源项目上——PetShop,就出现了一个问题,由于此项目是Java爱好者共同开发,没有考虑到性能和数据库的设计,所以就导致了整个程序技术很牛,但是性能很差,于是此时正赶上微软准备推出.net平台。微软使用.net重新设计并且开发了PetShop。后来SUN的官方重新编写了PetShop并且发布了测试报告。
因为代码的规范化的产生,所以从PetShop开始就不再使用模糊不清的Collection接口,而都使用List或Set子接口进行开发。
总结:
1.Collection接口几乎不会再直接使用了
2.一定要将Coolection接口的方法全部记住。
网友评论