标签:collection 源码 集合 集合框架 java
Java集合类是一种特别有用的工具类,可以用于存储数量不等的多个对象,并可以实现常用的数据结构,如:栈、
队列等。除此之外,Java集合类还可用于保存具有映射关系的关联数组。Java集合大致可分为Set、List和Map三种
状态,其中Set代表无序、不可重复的集合;List代表有序、重复的集合;而Map代表具有映射关系的集合。
Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又
包含了一些子接口或实现类。
如下图所示是Collection接口、子接口及其实现类的继承树:
上图显示了Collection体系里的集合,其中Set和List接口是Collection接口派生的两个子接口,它们分别代表了无序集
合和有序集合;Queue是Java提供的队列实现,有点类似于List。
以下是Collection接口中定义的方法:
6、
<T> T[] toArray(T[] a);返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。
7、
boolean add(E e);
8、
boolean remove(Object o);
9、
boolean containsAll(Collection<?> c);
10、
boolean addAll(Collection<? extends E> c);
boolean removeAll(Collection<?> c);
12、
default boolean removeIf(Predicate<? super E> filter) { Objects.requireNonNull(filter); boolean removed = false; final Iterator<E> each = iterator(); while (each.hasNext()) { if (filter.test(each.next())) { each.remove(); removed = true; } } return removed; }
以上程序使用了default关键字给接口添加一个非抽象的方法,此方法被称为扩展方法,可供子类直接调用。通过
Objects工具类中的requireNonNull(T)方法检查是否为null,使用Predicate接口可以在对象集合里通过设置属性条件查
找对象。单看以上的程序,显示获取迭代器,最后遍历,通过Predicate接口中的test(T)方法返回的布尔值来判断是
否移除。
13、
boolean retainAll(Collection<?> c);仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作),如果集合对象被添加操作改变了,返回true,反之返回false。
14、
void clear();
15、
boolean equals(Object o);比较此 collection 与指定对象是否相等。相等返回true,反之false 。
16、
int hashCode();
转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/43972053 情绪控_
标签:collection 源码 集合 集合框架 java
原文地址:http://blog.csdn.net/hai_qing_xu_kong/article/details/43972053