摘要:
一、TreeSet 概述 1、TreeSet 是 SortedSet 接口的实现类, TreeSet 可以确保集合元素处于排序状态。 2、TreeSet顾名思义他内部维护的是一个TreeMap,底层是红黑二叉树,他使得集合内都是有序的序列。 3、Tree 可以按照添加对象的指定属性,进行排序,所以向 阅读全文
摘要:
一、LinkedHashSet 概述 (1)LinkedHashSet 是 HashSet 的子类 (2)LinkedHashSet 根据元素的 hashCode 值来决定元素的存储位置,但它同时使用双向链表维护元素的次序,这使得元素看起来是以插入顺序保存的。 (3)LinkedHashSet作为H 阅读全文
摘要:
一、HashSet 概述 1、HashSet 是 Set 接口的典型实现,大多数时候使用 Set 集合时都使用这个实现类。 2、HashSet 按 Hash 算法来存储集合中的元素,因此具有很好的存取、查找、删除性能。 3、HashSet 具有以下特点: ① 不能保证元素的排列顺序; ② HashS 阅读全文
摘要:
一、Set 接口概述 1、Set 接口是 Collection 的子接口,set 接口没有提供额外的方法; 2、Set接口:存储无序的、不可重复的数据,Set 接口中会以某种规则保证存入的元素不出现重复。 3、Set 集合不允许包含相同的元素,如果试把两个相同的元素加入同一个 Set 集合中,则添加 阅读全文
摘要:
Arraylist 与 LinkedList 异同 一、是否保证线程安全 ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全,相对线程安全的Vector,执行效率高。 二、底层数据结构 (1)Arraylist 底层使⽤的是 Object 数组,基于动态数组的数据结构。 阅读全文
摘要:
ArrayList 与 Vector 异同 一、相同点 1、底层结构相同 (1)ArrayList 是 List 的主要实现类,底层使⽤ Object[ ]存储,适⽤于频繁的查找⼯作; (2)Vector 是 List 的古⽼实现类,底层使⽤ Object[ ]存储。 2、常用操作相同 底层基于动态 阅读全文
摘要:
一、Stack 概述 1、Stack 是栈结构,它继承与 Vector。它的特性是:先进后出(FILO,First In Last Out)或 后进先出(LIFO,Last In First Out); 2、Stack是Vector的子类,比Vector多了几个方法,它的后进先出的特征,就是通过调用 阅读全文
摘要:
一、Vector 概述 1、Vector 是 List 接口的另一个实现类: Vector 2、Vector 是一个古老的集合,JDK1.0就有了。大多数操作与ArrayList相同,区别之处在于Vector是线程安全的。 3、Vector 的内部实现与 ArrayList 类似,也可以理解为一个【 阅读全文
摘要:
一、LinkedList 概述 1、对于频繁的插入或删除元素的操作,建议使用LinkedList类,效率较高。 2、LinkedList是一个实现了List接口和Deque接口的双端链表。 3、LinkedList底层的链表结构使它支持高效的插入和删除操作,另外它实现了Deque接口,使得Linke 阅读全文
摘要:
一、ArrayList 概述 1、ArrayList 是 List 接口的典型实现类、主要实现类; 2、ArrayList 是 List 接口的一个实现类,也是 Java 中最常用的容器实现类之一,可以把它理解为「可变数组」。 3、Java 中的数组初始化时需要指定长度,而且指定后不能改变。Arra 阅读全文