JAVA-初步认识-常用对象API(集合框架-数组和链表)

Posted 照破山河万朵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA-初步认识-常用对象API(集合框架-数组和链表)相关的知识,希望对你有一定的参考价值。

一.

重点介绍ArrayList和LinkedList查询快慢的原因,两者增删快慢已经介绍过了。

数组是一个连续的空间,放置在堆内存中,数组里面放置着元素。

讲解数组的查询为什么快(都是相对而言),为什么链表查询慢。

堆内存中,很多数据都是随机放置的,但是如果某一部分是以数组的形式存放时,里面存放的都是角标。在连续的部分上进行查询,速度快于在众多随机的位置上查找。但是如果是增删的话,那么对数组的操作则是牵一发而动全身,整体的都要进行调整,因为数组是作为一个整体而出现的。

下面展示的是链表结构的内存分布,删除为什么快的原因也展示如下,但是98角标的元素依旧在内存中,只是不在链表结构中了。为什么链表结构查询慢,因为内存中整体并非链表结构,还是松散的。因此,查询比较慢(其实有些说不通)。

LinkedList中的元素有没有角标呢?它是List接口的子类,List接口最大的特点就是角标,它的子类全有。

数组是一片连续的空间,加编号。链表不是一片连续的空间,也是加标号。这里说连续与不连续可能是说,分布上的意思。链表分布可能不是连续的,虽然联系是在一起。

 

以上是关于JAVA-初步认识-常用对象API(集合框架-数组和链表)的主要内容,如果未能解决你的问题,请参考以下文章

JAVA-初步认识-常用对象API(集合框架-Map集合常见子类对象)

JAVA-初步认识-常用对象API(集合框架-常用方法演示)

JAVA-初步认识-常用对象API(集合框架-Map集合特点常用方法)

JAVA-初步认识-常用对象API(集合框架-treeset集合)

JAVA-初步认识-常用对象API(集合框架-迭代器使用)

JAVA-初步认识-常用对象API(集合框架-List集合的常用方法)