(1)List:有序,可重复。 ArrayList:底层实现的数据结构是数组,查询快,增删慢。线程不安全,效率高 LinkedList:底层实现的数据结构是链表,查询慢,增删块。线程不安全,效率高 Vector:底层实现的数据结构是数组,查绚块,增删慢。线程安全,效率低。 (2)Set:无序,唯一。 HashSet:底层数据结构是哈希表(无序,唯一)。保证元素唯一性依赖于
分类:
其他好文 时间:
2020-05-24 09:35:28
阅读次数:
72
前言 LinkedList内部实现是一个双链表,linkedList除了实现了list相关的接口外,还实现了Queue、Dequeue接口,所以它有着双端队列、list、栈的功能 注意LinkedList没有实现RandomAccess接口,这意味着LinkedList没有提供快速随机访问功能 属性 ...
分类:
编程语言 时间:
2020-05-19 23:02:21
阅读次数:
76
HashMap作为我们日常使用最频繁的容器之一,相信你一定不陌生了。今天我们就从HashMap的底层实现讲起,深度了解下它的设计与优化。常用的数据结构我在05讲分享List集合类的时候,讲过ArrayList是基于数组的数据结构实现的,LinkedList是基于链表的数据结构实现的,而我今天要讲的HashMap是基于哈希表的数据结构实现的。我们不妨一起来温习下常用的数据结构,这样也有助于你更好地理
分类:
编程语言 时间:
2020-05-19 17:59:41
阅读次数:
74
1、List类型 1.1 简介 Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素),类似JAVA中的LinkedList 1.2 命令 赋值语法: ...
分类:
其他好文 时间:
2020-05-17 16:06:57
阅读次数:
103
一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除 ...
分类:
编程语言 时间:
2020-05-14 15:28:44
阅读次数:
63
约瑟夫问题:N个人围成一圈,从约定编号为K的人开始报数,第M个将被杀掉,依次类推,最后剩下一个,其余人都将被杀掉。 直接上图展示,初始化状态: 假设n=6,总共有6个人,k=1,从第一个人开始报数,m=5,每次数五个。 1 package linkedlist; 2 3 public class j ...
分类:
其他好文 时间:
2020-05-14 13:48:47
阅读次数:
70
List接口 List接口:元素有序,可重复,集合中每个元素都有其对应的索引。 常用实现类有:ArrayList、LinkedList、Vector。 ArrayList源码 JDK 1.7情况下: 使用空参构造器创建集合,底层创建了长度为10的Object类型数组elementData。 扩容机制 ...
分类:
其他好文 时间:
2020-05-12 20:42:59
阅读次数:
71
Vector、ArrayList使用数组存储,插入效率低;LinkedList使用链表存储,插入效率高Vector线程安全,Arraylist非线程安全,Vector比ArrayList性能低ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,
分类:
其他好文 时间:
2020-05-12 20:25:02
阅读次数:
73
/** java.util.LinkedList集合 实现了List接口* LinkedList集合的特点:* 1.底层是一个链表结构:链表的特点是:查询满,增删快* 2.包含了许多特有的方法:所以使用LinkedList方法时 不使用多态的好* 多态的缺点:不能使用子类特有的方法,要使用子类的** ...
分类:
其他好文 时间:
2020-05-12 17:17:19
阅读次数:
56
Java集合 + List,Set,Map区别? `Set:不允许重复的集合.` + Arraylist 与 LinkedList 区别? 1. 都是线程不安全的. 2. 底层结构: 3. 插入删除效率: 4. 随机访问: 5. 空间占用: 6. RandomAccess接? + List遍历: 1 ...
分类:
编程语言 时间:
2020-05-11 23:23:56
阅读次数:
66