Java中的集合类-详解

JDK中提供了一些特殊的类,这些类可以储存任意类型的对象,并且长度可变,在Java中这些类统称为集合。
按照存储结构可以分为两大类,单列集合Collection和双列集合Map,这两种集合特点如下

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

Map:双列集合的根接口,用于存储具有键值关系的元素,每个元素包含一对键值,可以通过指定的key找到对应的value,Map接口的主要实现类有HashMap和TreeMap。

下面用图来描述其继承体系:

Java中的集合类-详解

Collection接口中的方法 方法声明 功能描述
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()   获取该集合元素个数  
List接口

List集合特点:线性存储,有序
不但继承了Collection接口中的全部方法,而且还增加了一些根据元素索引来操作集合的特有方法,如下表所示:

方法声明 功能描述
void add(int index,Object element)   将元素element插入在List集合的index处  
void 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(不包括)处所有元素组成的子集合  
ArrayList集合

ArrayList是List接口的一个实现类,是程序中一种常见的集合。下面通过一个案例学习ArrayList集合如何存取元素:

import java.util.ArrayList; public class c6_1 { public static void main(String[] args) { ArrayList list=new ArrayList();//创建ArrayList集合 list.add("stu1"); list.add("stu1");//List集合元素有序可重复 list.add("stu2"); list.add("stu3"); System.out.println("集合长度"+list.size()); System.out.println("第一个元素是"+list.get(1)); } }

菜鸟Java在线工具:https://c.runoob.com/compile/10
使用ArrayList集合查找元素很便捷

LinkedList集合

前面说了ArrayList在查询元素时速度很快,但在增删元素时效率较低。为了克服这种局限性,我们可以用另一个实现类LinkedList,该集合内部维护了一个双向循环链表,链表中每一个元素都使用引用的方式来记住它前后的元素,从而将所有元素彼此连接起来,对元素进行增删时,我们只需要修改这个引用关系即可,具有增删元素效率高的特点。
LinkedList中定义的方法:

方法声明 功能描述
void add(int index,E element)   指定位置插入指定元素  
void addFirst(Object o)   将指定元素插入列表开头  
void addLast(Object o)   将指定元素插入列表结尾  
Object getFirst()   返回列表第一个元素  
Object getLast()   返回列表最后一个元素  
Object removeFirst()   移除并返回列表的第一个元素  
Object removeLast()   移除并返回列表的最后一个元素  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpgss.html