JAVA集合(Collection、Map)

JDK中提供了一系列特殊的类,这些类中可以存储任意类型的对象,并且长度可变,统称为集合。

这些类都位于java.util包中,在使用时一定要注意导包的问题,否则会出现异常。

集合按照其存储结构可以分为两大类,即单列集合Collection和双列集合Map,这两种集合的特点具体如下:

  • Collection:单列集合的根接口,用于存储一系列符合规则的某种元素,它有两个重要的的子接口,分别是List和Set。其中,List的特点是元素有序、元素可重复。Set的特点是元素无序并且不可重复。List接口的主要实现类有ArrayList和LinkedList,Set接口的主要实现类有HashSet和TreeSet。

  • Map:双列集合的根接口,用存储具有键(Key)值、(Value)映射关系的元素。每个元素都包含一对键值,在使用Map集合时可以通过指定的Key找到对应的Value。Map的主要实现类有HashMap、TreeMap和HashTable。

Collection:

Collection是所有单列集合的父接口,因此在Collection中定义了单列集合(List和Set)通用的一些方法,这些方法可用于操作所有的单列集合。

方法声明 功能描述
boolean add(Object o) 向集合中添加一个元素
boolean addAll(Collection c) 将指定的Collection中所有的元素添加到该集合
void clear() 删除该集合中所有元素
boolean remove(Object o) 删除该集合中指定元素
boolean removeAll(Collection c) 删除指定集合中的所有元素
boolean isEmpty() 判断该集合是否为空
boolean contains(Object o) 判断该集合中是否包含某个元素
boolean containsAll(Collection c) 判断该集合中是否包含指定集合中的所有元素
Iterator iterator() 返回该集合元素上进行迭代的迭代器,用于遍历该集合所有元素
int size() 获取该集合的元素个数
Object[] toArray() 返回一个包含该集合所有元素的数组
... ...

 

List:

List接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现List接口的对象称为List集合。List集合中允许出现重复元素,已线性存储的方式存储,可以通过索引号来访问元素。

List作为Collection的子接口,不仅继承了Collection接口的全部方法,还增加了一些通过索引号来操作集合元素的方法。

方法声明

功能描述

void add(int index,Object element) 将元素element插入在List集合的index处
boolean addAll(int index,Collection c) 将集合c所包含的全部元素插入到在List集合的index处
Object get(int index) 返回集合索引号index处的元素
Object remove(int index) 删除集合索引号index处的元素
Object set(int index,Object element) 将索引index处的元素替换成element对象,并将被替换的元素返回
int indexOf(Object o) 返回对象o在List集合出现的位置索引
int lastIndexOf(Object o) 返回对象o在List集合最后一次出现的位置索引
List subList(int fromIndex,int toIndex) 返回从索引fromIndex到toIndex处所有元素集合成的子集合,前开后闭

 List接口下的所有集合容器都拥有索引(index),因此List集合不仅可以通过迭代器去遍历,还可以通过索引号来遍历,List集合还提供了一种特有的迭代器ListIterator。

Iterator(迭代器)只能从前往后遍历集合,一旦遍历结束,迭代器的隐式光标就会位于集合的最后一个元素的后面,此迭代器就无法再对集合进行遍历。而ListIterator不仅可以对集合进行从前往后的遍历,还可以从后往前遍历集合,同时还提供了对集合的增删改查方法。

未完。。。待补充。。。如若以往请提醒一下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章