
集合
jacljh
程序匠人
展开
-
集合简述
Collection(单列集合) List(有序,可重复) ArrayList 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector 底层数据结构是数组,查询快,增删慢 线程安全,效率低 LinkedList ...原创 2018-07-22 22:40:21 · 232 阅读 · 0 评论 -
Java 集合系列17之 TreeSet详细介绍(源码解析)和使用示例
概要这一章,我们对TreeSet进行学习。我们先对TreeSet有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeSet。内容包括:第1部分 TreeSet介绍第2部分 TreeSet数据结构第3部分 TreeSet源码解析(基于JDK1.6.0_45)第4部分 TreeSet遍历方式第5部分 TreeSet示例转载请注明出处:http://www.cnblogs.com...转载 2019-06-04 23:08:00 · 150 阅读 · 0 评论 -
Java 集合系列16之 HashSet详细介绍(源码解析)和使用示例
概要这一章,我们对HashSet进行学习。我们先对HashSet有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashSet。内容包括:第1部分 HashSet介绍第2部分 HashSet数据结构第3部分 HashSet源码解析(基于JDK1.6.0_45)第4部分 HashSet遍历方式第5部分 HashSet示例转载请注明出处:http://www.cnblogs.com...转载 2019-06-04 23:05:25 · 120 阅读 · 0 评论 -
Java 集合系列15之 Set架构
前面,我们已经系统的对List和Map进行了学习。接下来,我们开始可以学习Set。相信经过Map的了解之后,学习Set会容易很多。毕竟,Set的实现类都是基于Map来实现的(HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的)。首先,我们看看Set架构。(01) Set 是继承于Collection的接口。它是一个不允许有重复元素的集合。(02)...转载 2019-06-04 23:03:16 · 111 阅读 · 0 评论 -
Java 集合系列14之 Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)
概要学完了Map的全部内容,我们再回头开开Map的框架图。本章内容包括:第1部分 Map概括第2部分 HashMap和Hashtable异同第3部分 HashMap和WeakHashMap异同转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311126第1部分 Map概...转载 2019-06-04 23:01:26 · 142 阅读 · 0 评论 -
Java 集合系列13之 WeakHashMap详细介绍(源码解析)和使用示例
概要这一章,我们对WeakHashMap进行学习。我们先对WeakHashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用WeakHashMap。第1部分 WeakHashMap介绍第2部分 WeakHashMap数据结构第3部分 WeakHashMap源码解析(基于JDK1.6.0_45)第4部分 WeakHashMap遍历方式第5部分 WeakHashMap示例转载请...转载 2019-06-04 22:58:41 · 189 阅读 · 0 评论 -
Java 集合系列12之 TreeMap详细介绍(源码解析)和使用示例
概要这一章,我们对TreeMap进行学习。我们先对TreeMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeMap。内容包括:第1部分 TreeMap介绍第2部分 TreeMap数据结构第3部分 TreeMap源码解析(基于JDK1.6.0_45)第4部分 TreeMap遍历方式第5部分 TreeMap示例转载请注明出处:http://www.cnblogs.com...转载 2019-06-04 22:55:43 · 365 阅读 · 0 评论 -
Java面试题-集合框架篇三
21、ArrayList和Vector的区别 这两个雷都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按照索引号取出某个元素,并且其中的数据是允许重复的,这是与HashSet之类的集合的最大的不同处,HashSet之类的集合不可以按索引号去检索其中的元素,也...转载 2019-07-21 13:07:00 · 95 阅读 · 0 评论 -
Java基础面试题及答案解析(10)
概括的解释下线程的几种状态 就绪(Runnable):线程准备运行,不一定立马就能开始执行。 运行中(Running):进程正在执行线程的代码。 等待中(Waiting):线程处于阻塞的状态,等待外部的处理结束。 睡眠中(Sleeping):线程被强制睡眠。 I/O阻塞(Blocked on I/O):等待I/O操作完成。 同步阻塞(B...转载 2019-08-02 23:38:20 · 187 阅读 · 0 评论 -
Java中高级面试题(1)
List和Set比较,各自的子类比较对比一:Arraylist与LinkedList的比较1、ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的)。2、因为地址连续, ArrayList要移动数据,所以插入和删除操作效率比较低。 3、LinkedList基于链表的数据结构,地址是任意的,所以在开辟内存...转载 2019-07-30 23:14:50 · 137 阅读 · 0 评论 -
Java 集合系列18之 Iterator和Enumeration比较
概要这一章,我们对Iterator和Enumeration进行比较学习。内容包括:第1部分 Iterator和Enumeration区别第2部分 Iterator和Enumeration实例转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311275第1部分 Iterator和Enu...转载 2019-06-04 23:09:34 · 116 阅读 · 0 评论 -
Java 集合系列01之 总体框架
Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)、。Java集合工具包框架图(如下):大致说明:看上面的框架图,先抓住...转载 2019-06-03 22:17:09 · 100 阅读 · 0 评论 -
Java 集合系列02之 Collection架构
概要首先,我们对Collection进行说明。下面先看看Collection的一些框架类的关系图:Collection是一个接口,它主要的两个分支是:List和Set。List和Set都是接口,它们继承于Collection。List是有序的队列,List中可以有重复的元素;而Set是数学概念中的集合,Set中没有重复元素!List和Set都有它们各自的实现类。为了方...转载 2019-06-03 22:20:58 · 117 阅读 · 0 评论 -
Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例
概要前一章,我们学习了HashMap。这一章,我们对Hashtable进行学习。我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable。第1部分 Hashtable介绍第2部分 Hashtable数据结构第3部分 Hashtable源码解析(基于JDK1.6.0_45)第4部分 Hashtable遍历方式第5部分 Hashtable示例转载...转载 2019-06-04 22:50:40 · 131 阅读 · 0 评论 -
Java 集合系列10之 HashMap详细介绍(源码解析)和使用示例
概要这一章,我们对HashMap进行学习。我们先对HashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashMap。内容包括:第1部分 HashMap介绍第2部分 HashMap数据结构第3部分 HashMap源码解析(基于JDK1.6.0_45) 第3.1部分 HashMap的“拉链法”相关内容 第3.2部分 HashMap的构造函数 第3.3部分 ...转载 2019-06-03 22:47:42 · 128 阅读 · 0 评论 -
Java 集合系列09之 Map架构
概要前面,我们已经系统的对List进行了学习。接下来,我们先学习Map,然后再学习Set;因为Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的)。首先,我们看看Map架构。如上图:(01) Map 是映射接口,Map中存储的内容是键值对(key-value)。(02) AbstractMap 是继承于M...转载 2019-06-03 22:43:54 · 118 阅读 · 0 评论 -
Java 集合系列08之 List总结(LinkedList, ArrayList等使用场景和性能分析)
概要前面,我们学完了List的全部内容(ArrayList,LinkedList,Vector,Stack)。Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例...转载 2019-06-03 22:41:19 · 95 阅读 · 0 评论 -
Java 集合系列07之 Stack详细介绍(源码解析)和使用示例
概要学完Vector了之后,接下来我们开始学习Stack。Stack很简单,它继承于Vector。学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码;最后再通过实例来学会使用它。内容包括:第1部分 Stack介绍第2部分 Stack源码解析(基于JDK1.6.0_45)第3部分 Vector示例转载请注明出处:http://www.cnblogs.com/skywang...转载 2019-06-03 22:38:43 · 110 阅读 · 0 评论 -
Java 集合系列06之 Vector详细介绍(源码解析)和使用示例
概要学完ArrayList和LinkedList之后,我们接着学习Vector。学习方式还是和之前一样,先对Vector有个整体认识,然后再学习它的源码;最后再通过实例来学会使用它。第1部分 Vector介绍第2部分 Vector数据结构第3部分 Vector源码解析(基于JDK1.6.0_45)第4部分 Vector遍历方式第5部分 Vector示例转载请注明出处:http://www....转载 2019-06-03 22:36:10 · 405 阅读 · 0 评论 -
Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例
概要前面,我们已经学习了ArrayList,并了解了fail-fast机制。这一章我们接着学习List的实现类——LinkedList。和学习ArrayList一样,接下来呢,我们先对LinkedList有个整体认识,然后再学习它的源码;最后再通过实例来学会使用LinkedList。内容包括:第1部分 LinkedList介绍第2部分 LinkedList数据结构第3部分 LinkedLi...转载 2019-06-03 22:32:35 · 100 阅读 · 0 评论 -
Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)
概要前面,我们已经学习了ArrayList。接下来,我们以ArrayList为例,对Iterator的fail-fast机制进行了解。内容包括::1 fail-fast简介2 fail-fast示例3 fail-fast解决办法4fail-fast原理5 解决fail-fast的原理转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308762...转载 2019-06-03 22:29:06 · 98 阅读 · 0 评论 -
Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
概要上一章,我们学习了Collection的架构。这一章开始,我们对Collection的具体实现类进行讲解;首先,讲解List,而List中ArrayList又最为常用。因此,本章我们讲解ArrayList。先对ArrayList有个整体认识,再学习它的源码,最后再通过例子来学习如何使用它。内容包括:第1部分 ArrayList简介第2部分 ArrayList数据结构第3部分 ArrayLi...转载 2019-06-03 22:25:23 · 110 阅读 · 0 评论 -
面试中常问的List去重问题,你都答对了吗?
面试中经常被问到的list如何去重,用来考察你对list数据结构,以及相关方法的掌握,体现你的java基础学的是否牢固。我们大家都知道,set集合的特点就是没有重复的元素。如果集合中的数据类型是基本数据类型,可以直接将list集合转换成set,就会自动去除重复的元素,这个就相对比较简单。如下示例:publicclassTest{publicstaticvoid...转载 2019-08-04 13:08:27 · 224 阅读 · 0 评论