java集合框架
文章平均质量分 64
渐行渐远未曾走远
专业为集成电路设计与集成系统,主要从事IC设计,算法实现。精通的语言为verilog,matlab,c++
展开
-
LinkedList详解
分析的方法依然和之前一样,不过因为其由Node所组成,首先分析Node。private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this.item = element;原创 2021-09-29 12:54:24 · 123 阅读 · 0 评论 -
ArrayList详解
方法划分成三类,初始化方法,CRUD方法,辅助方法(grow类)CRUD方法public boolean add(E e) { ensureCapacityInternal(size + 1); // Increments modCount!! elementData[size++] = e; return true; }首先确保长度足够,然后赋值,这个是可以为null的。public void add(int index, E原创 2021-09-29 10:40:09 · 84 阅读 · 0 评论 -
HashMap详解
首先聊其基本组成单位Nodestatic class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key; V value; Node<K,V> next; Node(int hash, K key, V value, Node<K,V> next) { this.has原创 2021-09-28 21:33:58 · 125 阅读 · 0 评论 -
详解ArrayDeque
ArrayDeque方法很多,而他们按过程划分分为三种,初始化,扩容,CRUD操作。下面依次来说初始化过程中依赖一个核心的函数calculateSize,它的源码如下private static int calculateSize(int numElements) { int initialCapacity = MIN_INITIAL_CAPACITY; // Find the best power of two to hold elements.原创 2021-09-28 16:49:32 · 370 阅读 · 0 评论