`
randy.chen
  • 浏览: 8362 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

list map set及所有子类 区别与使用总结

    博客分类:
  • JAVA
阅读更多
括号为是否线程安全
list: LinkedList(no) ArrayList(no) Vector(yes) Stack(yes)
map: HashMap(no) LinkedHashMap(no) HashTable(yes) WeakHashMap TreeMap
set: HashSet(no) LinkedHashSet(no) SortedSet TreeSet
最常用的好像为每行的前两个

特征:
1. Linked开头的适合快速插入,删除元素, linked维护元素插入的次序
2. Set 在 HashMap 的基础上实现, 所以Set结尾的key是不会重复的
3. Tree开头的是每次改变发生排序的, 速度慢

适 用:
1. 需要快速插入,删除元素, 用 LinkedList; 需要快速随机访问元素,用 ArrayList
2. Vector 类似 ArrayList, 但是是同步的
3. Stack 继承 Vector , 是后进先出的堆栈

4. HashMap, put进去的对象位置会发生变化, LinkedHashMap 则不会

5. HashSet 是专门为快速查询而设计的, 插入会产生排序(LinkedHashSet 不会), 存入HashSet的对象必须定义hashCode方法
6. SortedSet 是保持元素的有序顺序的Set接口, 添加到 SortedSet 实现类的元素必须实现Comparable接口, TreeSet 类是它的唯一一份实现


其 它:
1. 非同步的可以进行外部同步,或者使用Collections.synchronizedMap()的方法包装成一个thread-safe的 Map/Set
2. LinkedHashMap支持两种排序:插入顺序、访问顺序。前者是指按照插入时的顺序排序,后者是指按照最旧使用到最近使用的顺序
3. 既然 Set 在 HashMap 的基础上实现, 那么 HashMap 和 HashSet 有什么区别吗?
答: HashMap提供get和put方法, 允许null 值和null 键; HashSet 提供add、remove、contains和size方法, 允许null 元素; 其它未知
分享到:
评论

相关推荐

    集合框架List、Map、Set接口及其子类综合对比

    Java基础知识汇总之集合框架List、Map、Set接口及其子类综合对比

    List Set Map以及子类的比较 .docx

    Collection集合下,有List,Set这些接口,这些接口有哪些区别,什么情况下可以使用呢。Map集合该如何使用呢,如何遍历呢?

    JAVA集合map、list、set详解

    详细描述map、list、set的常用子类特性,各个场景的适用。

    集合框架包含collection和map的子类

    集合框架包含collection和map的子类。其中collection包含list、set和queue。map包括hashmap、hashtable和treemap

    数组和集合的学习笔记

    list,set,map的中不同子类的特点和使用方法

    Java 基础核心总结 +经典算法大全.rar

    《Java 基础核心总结》 Java 概述 什么是 Java2 Java 的特点Java 开发环境 JDK JRE Java 开发环境配置 Java 基本语法 数据类型基础语法运算符 Java 执行控制流程条件语句 if 条件语句 if...else 条件语句if...else ...

    收集高频Java面试题以及面试时候被问到的面试题.rar

    Java基础 抽象类和接口的区别 一个类只能继承一个抽象类...List、Set、Map的区别 1. List 可存储重复对象; 是一个有序集合,保存了每一个元素的插入顺序,输出顺序就是插入顺序; 常见的实现类有ArrayList、LinkedList

    JVM虚拟机了解

    Java基础知识汇总之集合框架List、Map、Set接口及其子类综合对比

    java 面试题 总结

     Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符...

    Hibernate3.1_学习源码

    06 06Hibernate_Collection : Hibernate的容器映射技术,包括list、set和map等。用法大体一致,数据库中的两张表,在实体层设计和配置文件都只有一个 其中数据库用到级联删除。配置文件分别用list、set和map元素...

    Java期末复习-类集框架

    List接口、ArrayList类、Vector类、栈操作类Stack、链表操作类LinkList、队列操作接口Queue、Set接口、HashSet类、TreeSet类、SortedSet接口 双值操作接口Map(key->value)及其子接口、子类: SortedMap接口、HashMap...

    JAVA面试题最全集

    使用StringBuffer类与String类进行字符串连接时有何区别? 57.调用Thread类的destroy()方法有什么后果? 58.多线程,用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用? 59.使用socket建立客户端...

    超级有影响力霸气的Java面试题大全文档

     Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 13、&和&&的区别。 &是位运算符...

    java面试宝典2012版.pdf

    63、List、Map、Set三个接口,存取元素时,各有什么特点? 64、说出ArrayList,Vector, LinkedList的存储性能和特性 65、去掉一个Vector集合中重复的元素 66、Collection 和 Collections的区别。 67、Set里的元素...

    进销存系统文档作业例子

     Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符...

    java面试考题

    接口:Connection、Map、List、Set、Comparable(集合比较)、Serializable(序列化)。 包:java.util、java.lang、java.io、java.sql、javax.net、 java.awt、javax.xml 、javax.sevlet。 1.面向对象的特征有哪些? 1...

    AIC的Java课程1-6章

     辨析List,Set和Map接口。 • 理解List接口,辨别使用List接口的实现类。 • 理解Set接口,辨别使用Set接口的实现类。 • 理解Map接口,辨别使用Map接口的实现类。  培养面向接口编程的思维...

    net学习笔记及其他代码应用

    24.在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。 答:string str = null 是不给他分配内存空间,而string str = \"\" 给它分配长度为空字符串的内存空间。 25.请详述在...

Global site tag (gtag.js) - Google Analytics