Java集合框架入门

集合与数组

Java的集合用来存放对象的引用,而且集合的长度是可变的,可以增加和删改元素。这两点是集合与数组最明显的区别。

数组的内容是固定不变的,适合用索引快速查找,是一种很基本的数据机构。

常用的集合有Map,List,Set

集合框架的实现和继承关系可以简单的以一个图表示

 

 

 

其中,灰色的表示接口,白色框的表示具体实现类

Collection接口

Collection接口是层级结构中的根接口,通常不能直接使用,但是该接口提供了一个简单管理元素的方法,这几个方法在List和Set中是通用的。

Collection接口常用方法
方法 功能描述
add(E e) 将指定对象添加到该集合中
remove(Object o) 将指定对象从该集合中移除
isEmpty() 返回一个Boolean值,判断集合是否为空
iterator() 返回一个迭代器,需要用一个引用变量接收,用于遍历集合
size() 返回int值,获取集合中元素的个数

 

 

 List接口

List集合中的元素可重复且有序,各元素的顺序就是对象插入的顺序,可以通过索引访问元素。List接口继承自Collection接口,所以包含了上述Collection的所有方法,此外,还有自己的几个很重要的方法。

List接口常用方法
方法 功能描述
get(int index) 获取指定索引位置的元素
set(int index,Object obj) 将指定索引位置的元素修改为指定的对象

List常用的接口是ArrayList和LinkeList,两种都是线性结构,区别如下:

1、ArrayList地层用数组实现,查询快,增删慢。并实现了可变的数组,允许保存所有元素,包括null.

List<E> list=new ArrayList<>();

2、LinkedList底层用链表实现,查询慢,增删快。

List<E> list=new LinkedList<>();

Set接口

Set集合中的元素无需且不可重复,继承了Collection中的方法。常见的实现类有HashSet和TreeSet。

1、HashSet由哈希表实现,不保证迭代顺序。

2、TreeSet实现了Set接口,还可以实现对元素的排序,也可以按照比较器递增排序。所以,TreeSet中的元素是有序的,所以TreeSet类中增加了以下几个特有的方法。

TreeSet接口
 first()  返回Set当前第一个元素
last()   返回Set最后一个元素
comparator()   返回对此Set的元素进行排序的毕的比较器,如果此Set使用自然顺序,则返回null
headSet(E toElement)  返回一个新的Set集合,新的集合toElement(不含)之前所有对象 
subSet(E fromElement,E toElement)  返回一个新的Set集合,包含从 fromElement(包含)到toElement(不含)所有元素
 tailSet(E fromElement) 返回一个新的集合,新的集合包含fromElement之后的所有对象 

 

 

 

 

posted @ 2022-01-03 21:05  fallwinddy  阅读(38)  评论(0)    收藏  举报