目 录(本篇字数:2843)
AbstractList(抽象类,实现List接口)— 列表
AbstractMap(抽象类,实现Map接口)— 键值对(key,value)
3 、Map 中元素,可以将 key 序列、 value 序列单独抽取出来。
-
介绍
掌握Java的几种集合类区别,这是学习Java的基础,也是Java开发者的必备技能了。在很多企业的面试中,可能会面试关于这个类型的问题,比如Java几种集合的区别。那么,本篇文章将带你理解Java各个集合的主要区别。
-
Collection容器(接口)
-
AbstractList(抽象类,实现List接口)— 列表
List(列表)的特点是:元素是有序的、允许有任意个重复元素,包括空元素。
-
ArrayList(直接实现类)
ArrayList:线程不同步的数组列表。它以数组的方式实现了一个列表,它的设计导致它拥有迅速的遍历元素的手段。在同样庞大的数据量面前,它的遍历元素的速度是LinkedList无法比较的。既然遍历元素的区别这么庞大,那么为了让大家眼见为实,我特意写了这么一个例子,用这两个集合去遍历同样是10万条字符串的数据。下面看看它的区别吧!(官方原文说明:这个类相当于Vector类,只是线程是不同步的)
ArrayList,遍历100万条字符串数据耗时记录(ArrayList遍历元素所用的时间:平均数:2651.4ms / 单位ms)
LinkedList,遍历10万条字符串数据耗时记录(LinkedList遍历元素所用的时间:平均:19070.3ms / 单位ms),我测试过在遍历100万条时,已经出现内存溢出的现象,界面无响应。
-
LinkedList(间接实现类)
LinkedList:也是线程不同步的列表,但是它是通过链表的方式实现的。既然是通过链表的方式,那么它在储存元素的位置上就做了非常多的工作量。它的设计导致它可以像链表一样,