Collection 定义了可装载元素的容器。
List,Set,Queue是它的子类。
JAVA API 方法:
boolean |
add(E e) 确保此 collection 包含指定的元素(可选操作)。 |
|
boolean |
addAll(Collection<? extends E> c) 将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。 |
|
void |
clear() 移除此 collection 中的所有元素(可选操作)。 |
|
boolean |
contains(Object o) 如果此 collection 包含指定的元素,则返回 true。 |
|
boolean |
containsAll(Collection<?> c) 如果此 collection 包含指定 collection 中的所有元素,则返回 true。 |
|
boolean |
equals(Object o) 比较此 collection 与指定对象是否相等。 |
|
int |
hashCode() 返回此 collection 的哈希码值。 |
|
boolean |
isEmpty() 如果此 collection 不包含元素,则返回 true。 |
|
Iterator<E> |
iterator() 返回在此 collection 的元素上进行迭代的迭代器。 |
|
boolean |
remove(Object o) 从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。 |
|
boolean |
removeAll(Collection<?> c) 移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。 |
|
boolean |
retainAll(Collection<?> c) 仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。 |
|
int |
size() 返回此 collection 中的元素数。 |
|
Object[] |
toArray() 返回包含此 collection 中所有元素的数组。 |
|
|
|
Collection 的抽像子类:AbstractCollection 实现了上面的部分方法。()
AbstractCollection 是大部分容器实现类的父类, 它实现的方法具有一定通用性,子类就不用再实现了,实现了方法共用,如子类有不同实现,可以覆盖。
AbstractCollection 的每一个子类者有各自的特性和数据结构,它是如何做到方法的通用性的:
抽像方法:
public abstract Iterator<E> iterator();
public abstract int size();
AbstractCollection 不知道子类的具体实现算法,只能给出抽像方法,让子类去实现, AbstractCollection 的其它方法都是基于这两个方法来实现的。
AbstractCollection 中add 方法抛出异常 : AbstractCollection 每一个子类都有不同的特性或数据结构, AbstractCollection 中无法做到通的实现,抛出异常,需要由子类去实现。
(为什么不做成抽象方法? 或不实现?( AbstractCollection 本身为抽像类不需要实现所有方法))
Collections:
Collections 针对Collection操作的静态工具类。
方法:
static
|
addAll(Collection<? super T> c, T... elements) 将所有指定元素添加到指定 collection 中。 |
|
static
|
asLifoQueue(Deque<T> deque) 以后进先出 (Lifo) Queue 的形式返回某个 Deque 的视图。 |
|
static
|
binarySearch(List<? extends Comparable<? super T>> list, T key) 使用二分搜索法搜索指定列表,以获得指定对象。 |
|
static
|
binarySearch(List<? extends T> list, T key, Comparator<? super T> c) 使用二分搜索法搜索指定列表,以获得指定对象。 |
|
static
|
checkedCollection(Collection<E> c, Class<E> type) 返回指定 collection 的一个动态类型安全视图。 |
|
static
|
checkedList(List<E> list, Class<E> type) 返回指定列表的一个动态类型安全视图。 |
|
static
|
checkedMap(Map<K,V> m, Class<K> keyType, Class<V> valueType) 返回指定映射的一个动态类型安全视图。 |
|
static
|
checkedSet(Set<E> s, Class<E> type) 返回指定 set 的一个动态类型安全视图。 |
|
static
|
checkedSortedMap(SortedMap<K,V> m, Class<K> keyType, Class<V> valueType) 返回指定有序映射的一个动态类型安全视图。 |
|
static
|
checkedSortedSet(SortedSet<E> s, Class<E> type) 返回指定有序 set 的一个动态类型安全视图。 |
|
static
|
copy(List<? super T> dest, List<? extends T> src) 将所有元素从一个列表复制到另一个列表。 |
|
static boolean |
disjoint(Collection<?> c1, Collection<?> c2) 如果两个指定 collection 中没有相同的元素,则返回 true。 |
|
static
|
emptyList() 返回空的列表(不可变的)。 |
|
static
|
emptyMap() 返回空的映射(不可变的)。 |
|
static
|
emptySet() 返回空的 set(不可变的)。 |
|
static
|
enumeration(Collection<T> c) 返回一个指定 collection 上的枚举。 |
|
static
|
fill(List<? super T> list, T obj) 使用指定元素替换指定列表中的所有元素。 |
|
static int |
frequency(Collection<?> c, Object o) 返回指定 collection 中等于指定对象的元素数。 |
|
static int |
indexOfSubList(List<?> source, List<?> target) 返回指定源列表中第一次出现指定目标列表的起始位置;如果没有出现这样的列表,则返回 -1。 |
|
static int |
lastIndexOfSubList(List<?> source, List<?> target) 返回指定源列表中最后一次出现指定目标列表的起始位置;如果没有出现这样的列表,则返回 -1。 |
|
static
|
list(Enumeration<T> e) 返回一个数组列表,它按返回顺序包含指定枚举返回的元素。 |
|
static
|
max(Collection<? extends T> coll) 根据元素的自然顺序,返回给定 collection 的最大元素。 |
|
static
|
max(Collection<? extends T> coll, Comparator<? super T> comp) 根据指定比较器产生的顺序,返回给定 collection 的最大元素。 |
|
static
|
min(Collection<? extends T> coll) 根据元素的自然顺序 返回给定 collection 的最小元素。 |
|
static
|
min(Collection<? extends T> coll, Comparator<? super T> comp) 根据指定比较器产生的顺序,返回给定 collection 的最小元素。 |
|
static
|
nCopies(int n, T o) 返回由指定对象的 n 个副本组成的不可变列表。 |
|
static
|
newSetFromMap(Map<E,Boolean> map) 返回指定映射支持的 set。 |
|
static
|
replaceAll(List<T> list, T oldVal, T newVal) 使用另一个值替换列表中出现的所有某一指定值。 |
|
static void |
reverse(List<?> list) 反转指定列表中元素的顺序。 |
|
static
|
reverseOrder() 返回一个比较器,它强行逆转实现了 Comparable 接口的对象 collection 的自然顺序。 |
|
static
|
reverseOrder(Comparator<T> cmp) 返回一个比较器,它强行逆转指定比较器的顺序。 |
|
static void |
rotate(List<?> list, int distance) 根据指定的距离轮换指定列表中的元素。 |
|
static void |
shuffle(List<?> list) 使用默认随机源对指定列表进行置换。 |
|
static void |
shuffle(List<?> list, Random rnd) 使用指定的随机源对指定列表进行置换。 |
|
static
|
singleton(T o) 返回一个只包含指定对象的不可变 set。 |
|
static
|
singletonList(T o) 返回一个只包含指定对象的不可变列表。 |
|
static
|
singletonMap(K key, V value) 返回一个不可变的映射,它只将指定键映射到指定值。 |
|
static
|
sort(List<T> list) 根据元素的自然顺序 对指定列表按升序进行排序。 |
|
static
|
sort(List<T> list, Comparator<? super T> c) 根据指定比较器产生的顺序对指定列表进行排序。 |
|
static void |
swap(List<?> list, int i, int j) 在指定列表的指定位置处交换元素。 |
|
static
|
synchronizedCollection(Collection<T> c) 返回指定 collection 支持的同步(线程安全的)collection。 |
|
static
|
synchronizedList(List<T> list) 返回指定列表支持的同步(线程安全的)列表。 |
|
static
|
synchronizedMap(Map<K,V> m) 返回由指定映射支持的同步(线程安全的)映射。 |
|
static
|
synchronizedSet(Set<T> s) 返回指定 set 支持的同步(线程安全的)set。 |
|
static
|
synchronizedSortedMap(SortedMap<K,V> m) 返回指定有序映射支持的同步(线程安全的)有序映射。 |
|
static
|
synchronizedSortedSet(SortedSet<T> s) 返回指定有序 set 支持的同步(线程安全的)有序 set。 |
|
static
|
unmodifiableCollection(Collection<? extends T> c) 返回指定 collection 的不可修改视图。 |
|
static
|
unmodifiableList(List<? extends T> list) 返回指定列表的不可修改视图。 |
|
static
|
unmodifiableMap(Map<? extends K,? extends V> m) 返回指定映射的不可修改视图。 |
|
static
|
unmodifiableSet(Set<? extends T> s) 返回指定 set 的不可修改视图。 |
|
static
|
unmodifiableSortedMap(SortedMap<K,? extends V> m) 返回指定有序映射的不可修改视图。 |
|
static
|
|
UnmodifiableXXX方法:使用代理模式,在修改操作方法上加上了 throw new UnsupportedOperationException()
SynchronizedXXX方法:使用代理模式,在所有的公用操作方法上加上同步锁。
相关推荐
Dictionary比Collection慢好多; 采用了高精度计时器进行比较,可以精确到微秒; 添加速度快1-2倍 读取快3倍 删除有时快5倍 具体数据量不一样,CPU和电脑不同,结果也不同。 Dictionary,加20万条,用时2371.5783毫秒...
mybatis 多层级collection嵌套
Denise Milani Video Collection
集合框架包含collection和map的子类。其中collection包含list、set和queue。map包括hashmap、hashtable和treemap
This volume in The Netter Collection of Medical Illustrations (the CIBA "Green Books") has been expanded and revised by Drs. Christopher Rehbeck Kelly and Jaime Landman to capture current clinical ...
mybatis中mapper文件resultMap中collection和association的使用,参考地址:https://blog.csdn.net/zhizhuodewo6/article/details/82863452
Mesh Deformation Full Collection.unitypackage
Telerik Collection for . net 2021是一个可靠的,强大的和最知名的集合。net语言程序员的开发人员,使他们能够创建交互式用户界面的进度开发和专业报告不同的平台,如桌面或移动。 它是一个全功能的应用程序提供了...
nik collection 4.0.7中文版是一款非常好用的创意照片编辑软件,软件内的新界面更现代、更吸引人、更实用,并且它还提供了对所有可用工具和预设的更快访问,因此您可以专注于最重要的事情或者找到自己的风格。...
The Garbage Collection Handbook The Art of Automatic Memory Management, Jones, Hosking, Moss, 2012
它应该与任何JS引擎,甚至IE6都兼容(尽管到目前为止还没有针对它进行过测试) 缩小collection-js的权重16KB,仅专注于集合。内容代码示例JS var List = Collection . List ;var Set = Collection . Set ;var ...
The Animation Collection..zip,动画集合。
前几天学习了collection的文档,里面主要是collection的基础知识,大神们自动忽略吧
UML files collection2
java Collection类整理
C++ Collection.zip
All Star Character Collection 5.2 Unity人物 全明星 30角色全动作模型.txt
mytabis 报错 Mapped Statements collection does not contain value for
Utilu IE Collection,IE 兼容工具包,包含了IE2.0-IE8 渲染引擎,并可以同时使用这些引擎。因为IE并至今还没有完全遵循W3C Web国际标准,适用于网页开发者进行兼容性测试。 Internet Explorer Collection包含的IE...