Java中的集合类

倖福魔咒の 提交于 2020-03-29 20:25:30

Java集合类与数组的区别:Java的集合类的长度是动态的,数组则是固定长度的。

Java集合类与数组的联系:使用相应的toArray()和Arrays.asList()方法可以互相转换。

首先来看看Java集合框架中的接口:

Collection接口实现类中存放的是元素和Map接口实现类中存放的是键值对。

Set接口和List接口:Set接口不保证维护元素的顺序,而且元素不能重复。List接口维护元素的顺序,而且元素可以重复。

SortedSet和SortedMap提供了排序的功能。 

再来看看接口的实现:

HashSet和LinkedHashSet:HashSet,为快速查找而设计的Set。存入HashSet的对象必须实现hashCode()和equals()。LinkedHashSet,具有HashSet的查询速度,且内部使用链表维护元素的顺序(插入的次序),于是在使用迭代器遍历Set时,结果会按元素插入的次序显示。

TreeSet: 提供排序功能的Set,底层为树结构 。相比较HashSet其查询速度低,如果只是进行元素的查询,我们一般使用HashSet。

ArrayList和LinkedList:ArrayList底层采用数组实现,具有较高的查询速度。LinkedList底层采用双向循环列表实现,进行插入和删除操作时具有较高的速度,我们还可以使用LinkedList来实现队列和栈。

TreeMap和HashMap:HashMap具有较高的速度(查询增删),TreeMap则提供了按照键进行排序的功能。

Properties:该类也是集合类,里面的键和值都是String类型,通过它我们可以获取系统属性,读取配置文件。

Collections:通过该类,我们可以对集合类进行一些排序和查找最大最小操作。

Arrays:该类提供了操作数组的一些方法。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!