集合类
孟诸
coding
展开
-
java集合类六-LinkedHashMap和LRU
目录 1 LinkedHashMap有序 2 LRU机制介绍 3 LinkedHashMap原理 3.1 put方法 3.2 get方法 1 LinkedHashMap有序 LinkedHashMap是有序的原因是LinkedHashMap的内部了Entry在继承了HashMap.Node基础上新增了前驱和后继属性。 static class Entry<K,V> extends HashMap.Node<K,V> { Entry<K,V>...原创 2020-07-03 20:14:31 · 397 阅读 · 0 评论 -
java集合类五-ArrayList和HashMap线程不安全
1 不安全集合ArrayList 不安全现象1:元素丢失 测试代码 for (int i = 0; i < 1000; i ++) { List<Integer> list = new ArrayList<>(); executor.execute(() -> list.add(1)); executor.execute(() -> list.add(2));原创 2020-06-20 00:16:43 · 510 阅读 · 0 评论 -
java集合类四-TreeSet与TreeMap的使用
1 TreeSet实现自动排序 @Test public void testCalculate() { Student stu1 = new Student("张三", 80); Student stu2 = new Student("李四", 60); Student stu3 = new Student("王二", 90); Student stu4 = new Student("麻子", 70); //原创 2020-06-19 22:51:35 · 464 阅读 · 0 评论 -
java集合类三-聊聊HashMap
HashMap底层是通过数组和单向链表来实现的。HashMap底层是一个数组,数组的每一项又是一个链表节点或者红黑树(jdk1.8),如图所示 1 构造函数 这里看一个参数比较完整的构造函数 public HashMap(int initialCapacity, float loadFactor) { if (initialCapacity < 0) throw new IllegalArgumentException("Illegal原创 2020-06-19 21:51:45 · 178 阅读 · 0 评论 -
java集合类二-LinkedList的使用
底层实现是双向链表,查询慢,增、删快。因为链表的每个节点包含三个内容:前一个节点,后一个节点,当前节点。查询的时候需要一个一个查找(选择遍历顺序提高速度),查询慢。执行插入、删除的时候只需要把插入节点的前一个节点位置信息和后一个节点位置信息修改即可。 1、双向链表结构如下 private static class Node<E> { E item; Node<E> next; Node<E> prev;原创 2020-06-14 12:53:16 · 154 阅读 · 0 评论 -
java集合类一-ArrayList与Vector的使用及源码解析
1、构造方法 (1)public ArrayList():初始化一个容量为空的容器 public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; } (2)ArrayList(int initialCapacity):初始化一个容量为initialCapacity的容器 public ArrayList(int initialCapacity) { if (initialCapacit原创 2020-06-14 12:41:13 · 290 阅读 · 0 评论
分享