Java集合:List、Set和Map的区别,ArrayList和LinkedList有何区别..........

一、数组和集合的区别:

  数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型);

  集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数据类型。

  数组和集合相比唯一的有点就是速度快。

二、Java集合分类:

  1.Collection(接口):派生的两个子接口:List和Set

    List(列表):有序、可重复元素,可以插入多个null元素。实现List接口的常用类有LinkedList,ArrayList,Vector和Stack。

    Set(集):无序、不可重复元素,最多有一个null元素。

  2.Map(映射):不是collection的子接口或者实现类,Map是一个接口。Map 接口最流行的几个实现类是 HashMap、LinkedHashMap、Hashtable 和 TreeMap。

三、几个重要区别

  1. List、Set和Map的区别

     List:有序、可重复元素,可以插入多个null元素。

     Set:无序、不可重复元素,最多有一个null元素。

     Map:集合中的每一个元素包含一对键对象和值对象,集合中没有重复的键对象,值对象可以重复。它的有些实现类能对集合中的键对象进行排序。

  2.ArrayList和LinkedList的区别?  

      (1). ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。   

    (2). 对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。   

    (3). 对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

   3.HashTable和HashMap的区别?

    (1). HashTable:继承自Dictionary类,不接受为null的键值(key)和值(value),线程安全  

    (2). HashMap:继承自AbstractMap类,可接受为null的键值(key)和值(value),线程不安全   

 

    

原文地址:https://www.cnblogs.com/wang-Java-begining/p/9902632.html

时间: 2024-11-08 02:58:00

Java集合:List、Set和Map的区别,ArrayList和LinkedList有何区别..........的相关文章

黑马程序员——Java集合基础知识之Map

Map概念 要同时存储两个元素Key和Value,他们之间有映射关系,每个键不能重复,每个键只能映射到一个值. 当数据之间存在映射关系的时候,考虑使用Map集合. Map常用方法 如果添加的键原来有值,后添加的值会覆盖前面的值,并返回之前的值.put会返回来先添加的值,后添加的值会覆盖原有的值. Map tm =new TreeMap(); tm.put (key, value);//MAP没有add tm.remove (key) ;//去除一个key和对应的value,若不存在key返回nu

java集合中List与set的区别

java集合中List与set的区别.     List可以存储元素为有序性并且元素可以相同.     set存储元素为无序性并且元素不可以相同.     下面贴几段代码感受一下: ArrayList list = new ArrayList();//构造出List对象 list.add(1); list.add("string"); list.add(true); list.add(3.14); list.add(null); for(int i = 0; i < size()

Java 集合系列14之 Map总结

(01) 新建WeakHashMap,将"键值对"添加到WeakHashMap中. 将"键值对"添加到WeakHashMap中时,添加的键都是弱键. 实际上,WeakHashMap是通过数组table保存Entry(键值对):每一个Entry实际上是一个单向链表,即Entry是键值对链表. (02) 当某"弱键"不再被其它对象引用,并被GC回收时.在GC回收该"弱键"时,这个"弱键"也同时会被添加到queu

【转】Java集合框架List,Map,Set等全面介绍

原文网址:http://android.blog.51cto.com/268543/400557 Java Collections Framework是Java提供的对集合进行定义,操作,和管理的包含一组接口,类的体系结构. Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I]   +--java.util.ArrayList [C]   +--java.util.LinkedList [C]   +--java.u

java集合:Collection和Map的介绍

Collection集合://java.util.Collection List接口:    List集合包括List接口以及List接口的所有实现类.List集合中的元素允许重复,元素的顺序就是插入的顺序 List接口常用的实现类:  ArrayList 和 LinkedList ?  ArrayList类:实现了可变的数组允许保存所有元素,包括null,并可以根据索引位置对集合进行快速的随机访问:缺点是向指定的索引位置插入对象或删除对象的速度较慢. ?  LinkedList类采用链表结构保

Java基础之 集合体系结构(Collection、List、ArrayList、LinkedList、Vector)

Java基础之 集合体系结构详细笔记(Collection.List.ArrayList.LinkedList.Vector) 集合是JavaSE的重要组成部分,其与数据结构的知识密切相联,集合体系就是对数据结构的封装 数组与集合的比较 数组:长度固定,可以存储基本数据类型,也能存储对象 集合:长度可变,只能存储对象类型(由于有包装类的存在,集合可以存储任何类型) 集合的体系结构 集合也叫容器,用于存储对象 我们根据不同的需求和不同的数据结构来对集合做了不同的抽象 Collection接口-公共

【转】Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)

概要 前面,我们已经学习了ArrayList.接下来,我们以ArrayList为例,对Iterator的fail-fast机制进行了解.内容包括::1 fail-fast简介2 fail-fast示例3 fail-fast解决办法4 fail-fast原理5 解决fail-fast的原理 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308762.html 1 fail-fast简介 fail-fast 机制是java集合(Collection)中

Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)

概要 前面,我们已经学习了ArrayList.接下来,我们以ArrayList为例,对Iterator的fail-fast机制进行了解.内容包括::1 fail-fast简介2 fail-fast示例3 fail-fast解决办法4 fail-fast原理5 解决fail-fast的原理 转载:http://www.cnblogs.com/skywang12345/p/3308762.html 1 fail-fast简介 fail-fast 机制是java集合(Collection)中的一种错误

Java集合源码分析(二)ArrayList

ArrayList简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存. ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的CopyOnWriteArrayList类. ArrayList实现了Serializable接口,因此它支持序列化,能够通过