美文网首页
Java集合

Java集合

作者: 牡丹福 | 来源:发表于2018-03-12 15:40 被阅读0次

四种体系:

Set:无序不重复

List:有序重复

Map:有映射关系

Queue:队列集合实现

两个接口:Collection(list set queue)和Map(根接口)

HashSet:不是同步;元素值可以是null。当向HashSet存入元素,调用该对象的hashCode()方法得到该对象的hashCode值,由值决定在在HashSet的存储位置。

两个元素相等的标准:equals()方法返回true,hashCode()相等

不要轻易修改HashSet的对象。

LinkedHashSet是Hashet的子类,使用链表维护元素次序

TreeSet是SortedSet接口的实现类,确保集合元素处于排序状态。只能添加同一种类型的对象

当一个对象加入加入TreeSet集合时,调用该对象的compareTo(Object obj)方法与容器其他方法比较大小,然后根据红黑树结构找到存储位置,若相等,无法添加。返回0表示相等。

EnumSet类

各Set实现类的性能分析

Hashset的性能优于TreeSet,除非需要一个保持排序的Set。遍历LinkedHashSet更快。

EnumSet是所有Set中性能最好的,但只能保存同一个枚举类的枚举值作为集合元素

这三个类都是线程不安全的,可以通过synchronizedSortedSet方法包装,在创建时进行。

SortedSet s = Collections.synchronizedSortedSet(new TreeSet());

List集合

集合的每个元素都有对应的顺序索引。允许重复元素,默认按添加顺序设置索引。

Void add (int index,Object element)

Object get/remove(int index)

List类的两个典型实现:ArrarList和Vector,都是基于数组实现,动态允许再分配。使用initialCapacity设置数组长度,超过时会自动增加。

显著区别,ArrayList是线程不安全的

ArrayKust LinkedList是线性表的典型实现,基于数组和链。LinkedList提供了双端队列、栈的功能。总体上A的性能好。遍历集合,A和V使用随机访问方法(get),L使用迭代器(iterator)

Queue集合

PriorityQueue按队列大小重新排序,而不是先进先出

Map集合

List有数字索引,Map用key索引。从源码上看,包装所有value为null的Map即可实现Set。

HashSet和Hashtable(古老的类):

Table线程安全,不能有key或value为null。Map允许有key或value为null

判断key需要hashnode和equals。判断value只要equals

相关文章

  • 一篇文章,全面解读Android面试知识点

    Java Java基础 Java集合框架 Java集合——ArrayList Java集合——LinkedList...

  • 收藏夹

    博文 Java 集合:Java 集合学习指南 Java 集合:Java 集合源码剖析 HashMap:HashMa...

  • Java 集合框架_开篇

    Java 集合框架系列 Java 集合框架_开篇Java 集合框架_ListJava 集合框架_ArrayList...

  • Java 集合框架_List

    Java 集合框架系列 Java 集合框架_开篇Java 集合框架_ListJava 集合框架_ArrayList...

  • 9、java集合

    1、什么是java集合 java集合是用来存储多个数据引用的数据类型。 2、java集合分类 java集合类在ja...

  • 【集合框架】

    集合框架(怎么实现、适用场景) hash相关 Java集合框架 Java集合框架综述Java集合框架面试问题集锦 ...

  • Java基础——集合体系Map详解

    Java基础——集合体系Map详解 上文中我们了解了集合体系中的单列集合:Java基础——集合以及Java集合——...

  • Java基础

    Java集合框架 一、Java集合类简介: Java集合大致分为四种体系:Set:无序、不可重复的集合List:有...

  • JavaSE集合类

    JavaSE集合类 概述 Java中集合类概述Java中数组与集合的比较Java中集合框架层次结构 Collect...

  • 集合系列(一):集合框架概述

    集合系列(一):集合框架概述 Java 集合是 Java API 用得最频繁的一类,掌握 Java 集合的原理以及...

网友评论

      本文标题:Java集合

      本文链接:https://www.haomeiwen.com/subject/xsenfftx.html