Java集合
My Lady
心有猛虎,细嗅蔷薇
展开
-
Java集合1——集合框架
一、集合框架图:可以看得出Java集合框架由Collection和Map两个根接口组成的Collection接口: Set:元素无序、不可重复的集合 ---类似高中的“集合” 实现类:HashSet TreeSet List:元素有序,可重复的集合 ---”动态”数组 实现类:ArrayList Linke...原创 2019-07-11 10:44:33 · 118 阅读 · 0 评论 -
Java集合9——Set接口实现类Hashset
HashSet简介它继承AbstractSet,实现了Set接口,Cloneable,java.io.SerializableHashSet是一个没有重复元素的集合它是由HashMap实现的,不保证元素的顺序,而且HashSet允许使用null1、成员变量static final long serialVersionUID = -5024744406713321676L; //Ha...原创 2019-07-20 10:54:01 · 151 阅读 · 3 评论 -
Java集合7——LinkedHashMap
LinkedHashMap特点:public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>继承于HashMap null: 数据重复性: 安全性:hashtable\vector 底层数据结构:不同点: HashMap:无法保证数据有序 LinkedHashMap保证...原创 2019-07-17 14:52:26 · 122 阅读 · 0 评论 -
Java集合6——HashMap和HashTable的异同点
不同点1.实现的接口继承的类不同hashmap:AbstractMaphashtable:Dictionary(Enumerator 提供特有的key和value的遍历方式)2.初始数组大小hashmap:16hashtable:113.线程安全性hashmap:非线程安全(不安全在哪?)hashtable:线程安全(Synchronize)4.扩容方式:hashmap:re...原创 2018-11-02 13:52:18 · 209 阅读 · 0 评论 -
HashMap的三种遍历方式
public class TestHashMap { public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); for (int i = 0; i < 5; i++) { ...原创 2019-07-16 23:30:47 · 254 阅读 · 0 评论 -
Java集合5——Map的实现类HashMap
HashMap学习基于JDK 1.7版本学习源码实现(1.7和1.8的区别)public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable继承了AbstractMap,主要是实现map接口,当前Has...原创 2019-07-16 23:09:50 · 196 阅读 · 0 评论 -
Java集合8——WeakHashMap
学习WeakHashMap之前,我们先来学习一下Java的四种引用:Java中提供了一个Reference抽象类,此类定义所有引用对象共有的操作,与垃圾收集器密切配合实现的。主要是为了决定某些对象的生命周期,有利于JVM进行垃圾回收。而继承此类的有四种引用,分别是StrongReference(强引用),SoftReference(软引用),WeakReference(弱引用),PhantomR...原创 2019-07-18 11:35:49 · 265 阅读 · 1 评论 -
Java集合4——List实现类之Vector
Vector简介以下源码都是jdk1.7.8.0Vector 是古老的实现类,继承于AbstractList,实现了List, RandomAccess, Cloneable这些接口。Vector 是一个古老的集合,JDK1.0就有了。大多数操作与ArrayList相同,区别之处在于Vector是线程安全的。 在各种list中,最好把ArrayList作为缺省选择。当插入、删除频繁时,使用...原创 2019-07-11 16:38:13 · 212 阅读 · 0 评论 -
Java集合3——List实现类之LinkedList实现
LinkedList简介以下源码是 jdk1.7.8.0LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。LinkedList 实现 List 接口,能对它进行队列操作。LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。LinkedList 实现了Cloneabl...原创 2019-07-11 16:19:42 · 143 阅读 · 0 评论 -
Java集合2——List实现类之ArrayList详解
一、ArrayList简介以下源码为jdk1.7.8.0**ArrayList 是一个数组队列,相当于 动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。public class ArrayList<E> extends Ab...原创 2019-07-11 14:54:26 · 164 阅读 · 0 评论 -
Java集合10——PriorityQueue的源码学习和自定义实现MinHeap
PriorityQueue的简介PriorityQueue继承于AbstractQueue,实现了java.io.Serializable接口。六个构造函数public PriorityQueue() { this(DEFAULT_INITIAL_CAPACITY, null); }public PriorityQueue(int initialCapacity)...原创 2018-11-19 19:36:27 · 171 阅读 · 0 评论