选了半天,还是决定从集合框架基础开始做起。原因嘛,一重要,二铺垫,三基础。
//该类的位置
package java.util;
//Collection是集合框架的最底层接口.
//很多对象都聚在一起就是一个集合(我承认自己语文功底很水).
//一些集合框架允许有重复元素,而一些则不允许
//jdk并没有提供任何collection的实现,而实现了collection的一些子接口
//这个接口通常概括性地使用
///为什么写Collection<E>而不是Collection?这个跟泛型有很大联系么?不加可以么?加上去有什么好处呢?
public interface Collection<E> extends Iterable<E>{
//返回集合中有多少元素
int size();
//返回集合是否为空
boolean isEmpty();
//是否包含指定元素(1或1个以上)
boolean contains(Object o);
//返回一个迭代器,除非保证集合中有实例,否则不保证他一定会完成,经常用到这个方法.
Iterator<E> iterator();
//返回一个包含集合中所有元素的数组.如果这集合保证了元素的次序,那么toArray返回元素的次序
//也将和iterator相同.这方法就是array与collection之间的桥梁.还有一点比较重要,该方法返回的
//数组时新new出来的数组,并且其中的对象都没有采用引用的方式,可以随意去修改它们.
Object[] toArray();
//迷糊了~~泛型,看来我的基础也太水了
//用G翻译了一下,大概意思是返回指定类型的数组,如果其中的元素不符合数组的类型则不返回
<T> T[] toArray(T[] a);
//看来在接口当中,泛型真的是很常用啊
//该方法就是在集合中添加一个元素.添加的时候会遵循所设定的规则.返回该集合是否被成功调用
boolean add(E e);
//如果存在,则移出一个集合中的对象.返回是否有对象被移除.
boolean remove(Object o);
//判断集合中是否包含所有的c中的元素.
//<?> 什么意思呢
boolean containsAll(Collection<?> c);
//将c中的元素全部添加到集合中.
boolean addAll(Collection<? extends E> c);
//移除集合中所有存在于c中的元素
boolean removeAll(Collection<?> c);
//只保留集合与c的交集元素
boolean retainAll(Collection<?> c);
//删除集合中所有元素,狠啊
void clear();
//判断是否与o相同
//此方法需要注意,当新建一个Collection但又不是List或Set,就需要考虑是否要重载quuals方法
//尽量使其符合字面意思,而非简单的Object.equals
boolean equals(Object o);
//返回该集合哈希值.注意和equals方法的配合
int hashCode();
}
以上就是Collection接口的全部,看那么多英文注释还真的是很头疼,哈哈.不过也发现了自己很大的一个弱点,对泛型完全小白.E T ?~~????