1:登录注册案例(理解) 2:Set集合(理解) (1)Set集合的特点 无序,唯一 (2)HashSet集合(掌握) A:底层数据结构是哈希表(是一个元素为链表的数组)联想新华字典。 B:哈希表底层依赖两个方法:hashCode()和equals(),必须都重写。 执行顺序: 首先比较哈希值是否相 ...
分类:
其他好文 时间:
2018-05-21 22:52:57
阅读次数:
176
集合的体系: | collection 单例集合的根接口 | List 如果实现了list接口的集合类,具备的特点:有序,可重复 注:集合中的有序不是指自然顺序,而是指添加进去的顺序与出来的顺序是一致的 | ArrayList ArrayList底层维护了一个object数组的实现的。(线程不安全) ...
分类:
编程语言 时间:
2018-05-21 19:38:43
阅读次数:
189
概要前面,我们已经系统的对List进行了学习。接下来,我们先学习Map,然后再学习Set;因为Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的)。首先,我们看看Map架构。如上图:(01)Map是映射接口,Map中存储的内容是键值对(key-value)。(02)AbstractMap是继承于Map的抽象类,它实现了Map
分类:
编程语言 时间:
2018-05-21 14:46:57
阅读次数:
185
概要前面,我们已经系统的对List进行了学习。接下来,我们先学习Map,然后再学习Set;因为Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的)。首先,我们看看Map架构。如上图:(01)Map是映射接口,Map中存储的内容是键值对(key-value)。(02)AbstractMap是继承于Map的抽象类,它实现了Map
分类:
编程语言 时间:
2018-05-21 14:31:42
阅读次数:
168
Java基础 1、List 和 Set 的区别 2、HashSet 是如何保证不重复的 3、HashMap 是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安全)? 4、HashMap 的扩容过程 5、HashMap 1.7 与 1.8 的 区别,说明 1.8 做了哪些优化,如何优化 ...
分类:
编程语言 时间:
2018-05-21 12:38:56
阅读次数:
231
TreeSet是一种排序的set,实现了SortedSet接口,它的元素要求实现Comparable接口 实际上是基于TreeMap实现的,key存入元素,value存入常量Object对象 HashSet和TreeSet几乎一样,区别在于底层是HashMap实现 ...
分类:
其他好文 时间:
2018-05-20 20:18:06
阅读次数:
178
对于一个长度为n+1的数组,其中每一个值的取值范围是[1,n],可以证明的是必然存在一个重复数字(抽屉原理),假设仅存在一个重复数字,找到他。 举例:输入:[1,3,4,2,1],输出:1 自己做的时候,要么时间复杂度到o(n2),要么需要额外的存储空间利用hashset,下面来分析一下leetco ...
分类:
其他好文 时间:
2018-05-20 18:21:22
阅读次数:
212
execute方法示意图如上,workers为HashSet类型,存储初始化任务RUNNING或SHUTDOWN但firsttask为null的worker。 workQueue为BlockingQueue,存储提交的执行任务。 ...
分类:
编程语言 时间:
2018-05-20 13:02:28
阅读次数:
147
1.Set集合(重点)1.1 基本概念 java.util.Set接口是Collection接口的子接口,与List接口平级。 该接口中的元素没有先后放入次序,并且不允许重复。 该接口的主要实现类:HashSet类 和 TreeSet类。 其中HashSet类的底层是采用哈希表来进行数据的管理。 其 ...
分类:
其他好文 时间:
2018-05-19 01:17:37
阅读次数:
157
Java中的set是一个不包含重复元素的集合,确切地说,是不包含e1.equals(e2)的元素对。Set中允许添加null。Set不能保证集合里元素的顺序。 在往set中添加元素时,如果指定元素不存在,则添加成功。也就是说,如果set中不存在(e==null ? e1==null : e.quea ...
分类:
编程语言 时间:
2018-05-18 10:06:23
阅读次数:
231