java.util
接口 Collection<E>
前面写过一篇关于容器的文章 讲的不是很清晰 ,但是容器在JAVA开发中实在是太重要了,只有再回忆 巩固一遍 ,会在接下来写几篇关于容器的介绍及用法:
线性表,hash表等是常用的保存数据形式的结构,都在collection这个接口中:
List和set是collection的子接口,
有序的可重复的;
List:ArrayList,LinkedList;
无序的不可重复的,第二个会覆盖第一个
set:hashSet,
引用:
collection接口定义的方法:
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 中所有元素的数组。
<T> T[]
toArray(T[] a)
返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。
collection的方法举例:
package Collection;
import java.util.ArrayList;
import java.util.Collection;
public class collection<E> {
public static void main(String[] args) {
//由于ArrayList是继承的List,而List又是继承的Collection,所有使用Collection来实例化 //,便于数据保存方式的更改,而不需要更改程序
Collection<String> coll = new ArrayList<String>();
for(int i = 0;i<5;i++){
coll.add("王佳"+i);
}
//使用remove()来移除对象中指定的元素
coll.remove("王佳1");
//获取容器 中元素的个数 int n = coll.size(); System.out.println(n); //打印输出coll相当于打印输出的是coll.toString(); System.out.println(coll); System.out.println(coll.toString());
运算结果:
4
[王佳0, 王佳2, 王佳3, 王佳4]
[王佳0, 王佳2, 王佳3, 王佳4]
分析;remove()移除 是Collection的方法,可以直接通过实例化的对象来调用,size()是检查有几个元素以int类型返回;
下面分析collection中比较难理解两个方法:
toArray[] Object[] toArray() 返回包含此 collection 中所有元素的数组
toArray[]<T> T[] toArray(T[] a) 返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。