`
DxnPratice
  • 浏览: 18222 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论

集合框架中ArrayList和LinkedList的区别与联系

阅读更多
                            集合框架
1,Collection<E>在java.util包中,Collection是 层次结构中的根接口。
   Collection 表示一组对象,这些对象也称为 collection 的元素。
   一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。
   JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List,)实现;

2,列表 List,有序的 collection(也称为序列); 列表通常允许重复的元素。
   常用的List实现类: LinkedList Stack Vector
(1)ArrayListList是实现了基于动态数组的数据结构,是有序的,可重复的,长度可变的,有下标的,地址连续的的数组序列;
而 LinkedList是实现了基于链表的数据结构,是有序的,可重复的,长度可变的,有下标的,地址任意的,各个数据之间通过引用关联的链式序列;而且一个节点就是一个对象,包含了自己前一个节点和后一个节点的地址;


(2)ArrayListList添加元素的时候,需要判断存放元素的数组是否需要扩容;在指定位置添加元素或者移除指定元素的时候,需要移动比较多的元素,所以做插入删除操作时效率较低,但是由于是地址连续的一旦数据存储完了,查询操作效率比较高;且对于多线程的操作,不是线程同步的;

(3) LinkedList是通过移动链表指针添加和删除元素的,效率较高;但是查询操作效率较低;
 
(4)空间复杂度分析:LinkedList中每个对象都对应于链表中的一个元素,且该对象不仅存储自身的信息,还要存储相邻节点的地址信息,因此,在LinkedList结构中将有一个很大的空间开销;而ArrayList使用内置数组来存储信息,且默认数组初始容量为10,当数组需要增长时,新的容量增长率为50%, 这意味着当有大量的ArrayListList对象时,由于ArrayListList本身的工作方式,最终将会有很大的空间被浪费掉,所以ArrayListList初始化的时候可以指定大小,如果你知道大小,在创建的时候最好指定;

     ArrayList(int initialCapacity) , 构造一个具有指定初始容量的空列表。
     ArrayList() , 构造一个初始容量为 10 的空列表。
分享到:
评论

相关推荐

    JAVA集合框架

    ArrayList与LinkedList类的区别; HashMap与LinkedHashMap的区别 迭代器Iterator的使用

    Java集合框架完整说明便于了解集合

    java集合在日常开发中经常用到,对基础的掌握尤其重要,其中List,Set,Map的作用以及使用的场景和分类描述,其中Arraylist 与 LinkedList 区别,HashSet与TreeSet与LinkedHashSet对⽐,LinkedHashMap和HashMap,...

    [传智播客]Java基础视频教程之集合框架1【14节课】.txt

    该视频课件包括java基础集合框架之迭代器、List集合、ListIterator、Vector、ArrayList、LinkedList及HashSet等,详细课程内容如下&gt;&gt;

    高级编程-java实验报告.docx

    实验目的及要求 ...1)Java集合框架中几种具体实现的使用:ArrayList, LinkedList, HashSet, TreeSet, PriorityQueue; 2)HashMap和TreeMap的使用; 3)枚举类型的使用,EnumSet和EnumMap的使用;

    Java集合框架List接口.pdf

    Java集合框架中的List接口是一种有序的集合,它可以存储重复的元素。它是Collection接口的子接口,提供了一系列可以对列表进行操作的方法,如添加、插入、删除、获取元素等。List接口还可以通过索引访问元素,类似于...

    实验05 Java集合.doc

    掌握集合的概念、体系结构、分类及使用场景 2)了解Set接口及主要实现类(HashSet、TreeSet) 3)了解List接口及主要实现类...2、为什么使用集合框架,而尽可能少用数组作为存储结构? 3、如何使用TreeSet实现第一题?

    集合框架.xmind

    常见的集合框架:Collection接口和Map接口 以及常见的List接口下实现的ArrayLIst集合,LinkedList集合,Set接口下的HashSet集合和LinkedHashSet集合, Map接口下实现的HashMap集合和LinkedHashMap集合

    超全Java集合框架讲解.md

    超全Java集合框架讲解 - 超全Java集合框架讲解 - 集合框架总览 - Iterator Iterable ListIterator - Map 和 Collection 接口 - Map 集合体系详解 - HashMap - LinkedHashMap - TreeMap - WeakHashMap - ...

    观看韩顺平Java的 所做的笔记 到互斥锁 其中里面有我很多心得 老手可以用来复习 新手可以用学习 也可以当做参考 来做笔记

    ArrayList 底层结构和源码分析 Vector 底层结构和源码剖析 LinkedList 底层结构 ArrayList 和 LinkedList 比较 Set 接口和常用方法 Map 接口和常用方法 总结-开发中如何选择集合实现类(记住) Collections工具类 泛型...

    Java面试通关宝典:深度解读核心知识点与实战技巧,全面提升面试表现力与技术实力

    Java集合框架:这部分问题关注ArrayList、LinkedList、HashMap、HashSet等集合类的特性和使用。例如,比较ArrayList和LinkedList的优缺点;解释HashMap的工作原理和如何处理哈希冲突;讨论如何选择合适的集合类来...

    Java 集合方面的面试题

    ArrayList 和 LinkedList 有什么区别? HashSet 和 TreeSet 有什么区别? HashMap 和 TreeMap 有什么区别? 什么是迭代器?如何使用它来遍历集合? 什么是 fail-fast 机制? 如何使用 Collections 类对集合进行排序...

    Java集合框架总结

    Java集合框架汇总 1.集合框架结构图 1 2.两种特殊的Java容器类List和Set分析 2 3. Collection 接口: 2 4.Iterator 接口: 3 5.List接口: 3 5.1 LinkedList类: 5 5.2 ArrayList类: 5 6.Set接口: 5 7.Map...

    Java集合框架常见面试题.pdf

    剖析⾯试最常⻅问题之 Java 集合框架 集合概述 Java 集合概览 从下图可以看出,在 Java 中除了以 Map 结尾的类之外, 其他类都实现了 Collection 接⼝。 并且,以 Map 结尾的类都实现了 Map 接⼝。 说说 List,Set,...

    【Java基础】集合框架-面试题.pdf

    【Java基础】集合框架-面试题。包含: 1. ArrayList 和 Vector 的区别; 2、ArrayList,Vector, LinkedList 的存储性能和特性; 3. 快速失败 (fail-fast) 和安全失败 (fail-safe) 的区别; 4. HashMap 的数据结构、...

    清华妹子的Java仓库(进阶学习路线)

    Java集合框架源码解读(1)——ArrayList、LinkedList和Vector Java集合框架源码解读(2)——HashMap Java集合框架源码解读(3)——LinkedHashMap Java集合框架源码解读(4)——WeakHashMap Java集合框架源码解读

    java集合类学习与实例

    Collections Framework集合框架是一个统一的架构,用来表示和操作集合.集合框架主要是由接口,抽象类和实现类构成.接口:蓝色;实现类:红色Collection|_____Set(HashSet)| |_____SortedSet(TreeSet)|_____List...

    Java面试题,冲冲冲!.rar

    List、Set、Queue和Map是Java集合框架中的四个主要接口,它们各自具有不同的特点和用途。 1. List(列表): - 允许重复元素。 - 具有按照元素插入顺序维护的有序集合。 - 可以通过索引访问和操作元素。 - 常见实现类...

    JAVA SE 开发手册.CHM

    14、JAVA集合框架之list接口、LinkedList类、ArrayList类、Vector类 15、JAVA集合框架之Set接口、HashSet类、TreeSet类 16、JAVA集合框架之Map接口、HashMap类、Trelap类、Hashtable类 17、JAVA异常Exception 18...

    Java 面试资源(基础 多线程)

    包含四个文件:java 基础上 基础下,多线程和集合。 ...ArrayList 和 LinkedList 的区别 为何Map接口不继承Collection接口 HashMap的底层实现原理 HashMap并发安全的问题 JDK1.8与JDK1.7的性能对比

Global site tag (gtag.js) - Google Analytics