#Collection
接口来自java.util包,是一种工具类的接口。
collection接口是蛮多集合类的接口,通过它可以去实现如ArrayList,LinkedList等一些经常会使用到的工具类。
集合: 通俗的理解,如同数组一般,只不过它解决了数组中数组越界等问题,对于集合来讲,大小是可以根据具体情况变化的,通常java中集合分为3种:
- Set:无序,并且放入集合中的对象不能重复。
- List: 有序(放入的先后次序),放进集合中的对象可以重复。
- Map: 集合中的每个元素包含一对键对象和值对象,集合中没有重复的键,值对象可以重复。
##接口主要实现的方法(方法名和文字来自api,实例为自解):
定义接口实现为
Collection collection = null;
当我们需要指定其储存的类型时,只需要在其定义时加上泛型即可。但是像这样创建的的集合将为null, 所以我们这样写:
Collection<String> collection = new LinkedList<String>();
<String
>中填写的便是我们需要往集合里添加的数据的类型,此处可以填写任意引用类型,不过注意当你确定你要添加的数据类型时,不能再往里添加不同类型的数据!
实现Collection接口时我们需要将其实现为具体的实现类,new后可以填写的为AbstractCollection, AbstractList, AbstractQueue, AbstractSequentialList, AbstractSet, ArrayBlockingQueue, ArrayDeque, ArrayList,AttributeList,BeanContextServicesSupport, BeanContextSupport,ConcurrentLinkedQueue,ConcurrentSkipListSet,CopyOnWriteArrayList,CopyOnWriteArraySet,DelayQueue,EnumSet,HashSet,JobStateReasons,LinkedBlockingDeque,LinkedBlockingQueue,LinkedHashSet,LinkedList,PriorityBlockingQueue, PriorityQueue, RoleList, RoleUnresolvedList, Stack, SynchronousQueue, TreeSet, Vector其中一个
PS:各个具体实现类有自个的特点,等后续博客详解。
add(E e)
: 向集合中添加一个元素。
实例:
collection.add("test");
collection.add("test1");
collection.add("test2");
collection.add("test3");
2.addAll(Collection<? extends E> c
) :将指定 collection 中的所有元素都添加到此 collection 中。
实例:再创造一个集合,执行以后test5会添加到collection最后一位之后。
Collection<String> collection2 = new Vector<>();
collection2.add("test5");
collection.addAll(collection2);
3.clear()
:移除此 collection 中的所有元素(可选操作)。
实例:这样做会清空collection中的所有元素
collection.clear();
4 . contains(Object o) :如果此 collection 包含指定的元素,则返回 true。
实例:判断集合之中是否存在某个元素,如果存在则返回true, 否则返回false
collection.contains("test6"); // 返回false,由于其中没有该元素
5.isEmpty() :如果此 collection 不包含元素,则返回 true。
实例:假如集合中为空,则返回true,不为空返回false
collection.isEmpty() //返回false
6.iterator() : 返回在此 collection 的元素上进行迭代的迭代器。
实例:返回一个关于该集合的迭代器,通过迭代器的相关操作就可以把集合中的元素取出来,如下:
// 获取迭代器 ,遍历集合的方法(固定写法)
Iterator iterator = collection.iterator();
// iterator.hasNext() 判断集合是否有值,返回的是 true 或 false
while (iterator.hasNext()) {
Object object = iterator.next();
System.out.println(object);
7.remove(Object o) : 从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
实例:删除指定内容的元素
collection.remove("test2"); //删除test2元素
8 . size() :返回此 collection 中的元素数。
collection.size() //为其中的元素数,不是其内存大小或位数
9.toArray() : 返回包含此 collection 中所有元素的数组。
实例:通过该方法可以将集合转化为数组进行操作
// 转化为ss数组
String ss [] = collection.toArray(new String[collection.size()]);
// 通过java.util.Arrays 数组辅助类对数组进行遍历输出
System.out.println(Arrays.toString(ss));