LinkList与ArrayList

1.LinkList

  • java实现双向链表
 //链表节点模型
 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;
            this.next = next;
            this.prev = prev;
        }
    }

2.ArrayList

//初始化大小为10;
int DEFAULT_CAPACITY = 10;
//存储结构为数组
private transient Object[] elementData;
//扩容方式,扩大一倍,复制数组
private void grow(int minCapacity) {
        int oldCapacity = elementData.length;
        int newCapacity = oldCapacity + (oldCapacity >> 1);
        elementData = Arrays.copyOf(elementData, newCapacity);
    }

3.HashSet

//底层为hashMap,默认为16;
 public HashSet(Collection<? extends E> c) {
        map = new HashMap<>(Math.max((int) (c.size()/.75f) + 1, 16));
        addAll(c);
    }
//hashSet对象为key,value为固定的object对象的hashMap,具体看hashMap方法
  public boolean add(E e) {
        return map.put(e, PRESENT)==null;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,830评论 18 399
  • /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home...
    光剑书架上的书阅读 4,002评论 2 8
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,150评论 0 62
  • 1.一早起来,看见透过窗户的阳光,看见蓝蓝的天上映衬着白白的云朵,感谢太阳照射出阳光,使我感到温暖,感谢白云的出现...
    明善_阅读 190评论 0 0
  • 月光下,小径上,只有一灯明。走过一片庄稼地,心中漾起的是满满的幸福。 爷爷是一个泥瓦匠,只有...
    暗香拂来阅读 432评论 1 0