
java集合教程
java集合类教程
flydean程序那些事
懂程序更懂你!微信公众号:程序那些事 个人主页:www.flydean.com 最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧,尽在程序那些事!
展开
-
万字长文深入理解java中的集合-附PDF下载
集合是用来存储多个数据的,除了基本类型之外,集合应该是java中最最常用的类型了。java中的集合类型一般都集中在java.util包和java.util.concurrent包中。其中util包中的集合类是基础的集合类,而concurrent包中的集合类是为并发特别准备的集合类。集合类的父类有两个,一个是java.util.Collection, 一个是java.util.Map。原创 2020-10-24 12:13:21 · 21771 阅读 · 20 评论 -
JDK12的新特性:teeing collectors
文章目录简介talk is cheap, show me the codeTeeing方法深度剖析Characteristics总结JDK12的新特性:teeing collectors简介JDK12为java.util.stream.Collectors添加了一个新的teeing方法,怎么翻译呢?看到很多人都把它翻译成“发球台”,我不禁潸然泪下,哪里有那么复杂,tee就是T。它的作用就像是一个T型,数据从两头进入,然后从一头流出。teeing的作用也就在此。更多内容请访问www.flydean.原创 2020-05-13 06:54:49 · 22784 阅读 · 1 评论 -
java中DelayQueue的使用
今天给大家介绍一下DelayQueue,DelayQueue是BlockingQueue的一种,所以它是线程安全的,DelayQueue的特点就是插入Queue中的数据可以按照自定义的delay时间进行排序。只有delay时间小于0的元素才能够被取出。原创 2020-05-06 06:52:41 · 9060 阅读 · 1 评论 -
SynchronousQueue详解
SynchronousQueue是BlockingQueue的一种,所以SynchronousQueue是线程安全的。SynchronousQueue和其他的BlockingQueue不同的是SynchronousQueue的capacity是0。即SynchronousQueue不存储任何元素。也就是说SynchronousQueue的每一次insert操作,必须等待其他线性的remove操作。而每一个remove操作也必须等待其他线程的insert操作。这种特性可以让我们想起了Exchanger原创 2020-05-06 06:45:06 · 27450 阅读 · 3 评论 -
PriorityQueue和PriorityBlockingQueue
文章目录简介PriorityQueuePriorityBlockingQueuePriorityQueue和PriorityBlockingQueue简介Queue一般来说都是FIFO的,当然之前我们也介绍过Deque可以做为栈来使用。今天我们介绍一种PriorityQueue,可以安装对象的自然顺序或者自定义顺序在Queue中进行排序。PriorityQueue先看PriorityQu...原创 2020-05-05 07:08:13 · 10131 阅读 · 1 评论 -
一文弄懂java中的Queue家族
文章目录简介Queue接口Queue的分类BlockingQueueDequeTransferQueue总结java中Queue家族简介简介java中Collection集合有三大家族List,Set和Queue。当然Map也算是一种集合类,但Map并不继承Collection接口。List,Set在我们的工作中会经常使用,通常用来存储结果数据,而Queue由于它的特殊性,通常用在生产者消...原创 2020-05-05 07:03:04 · 9259 阅读 · 1 评论 -
SkipList和java中ConcurrentSkipListMap的实现
一开始听说SkipList我是一脸懵逼的,啥?还有SkipList?这个是什么玩意。后面经过我的不断搜索和学习,终于明白了SkipList原来是一种数据结构,而java中的ConcurrentSkipListMap和ConcurrentSkipListSet就是这种结构的实现。接下来就让我们一步一步的揭开SkipList和ConcurrentSkipListMap的面纱吧。原创 2020-05-04 07:11:11 · 9879 阅读 · 1 评论 -
java中Comparable和Comparator的区别
文章目录简介ComparableComparator举个例子java中Comparable和Comparator的区别简介java.lang.Comparable和java.util.Comparator是两个容易混淆的接口,两者都带有比较的意思,那么两个接口到底有什么区别,分别在什么情况下使用呢?ComparableComparable是java.lang包下面的接口,lang包下面可...原创 2020-05-03 07:57:25 · 9241 阅读 · 1 评论 -
一文弄懂EnumMap和EnumSet
文章目录简介EnumMap什么时候使用EnumMapEnumSet总结一文弄懂EnumMap和EnumSet简介一般来说我们会选择使用HashMap来存储key-value格式的数据,考虑这样的特殊情况,一个HashMap的key都来自于一个Enum类,这样的情况则可以考虑使用本文要讲的EnumMap。EnumMap先看一下EnumMap的定义和HashMap定义的比较:public ...原创 2020-05-03 07:53:02 · 9536 阅读 · 1 评论 -
深入理解HashMap和LinkedHashMap的区别
文章目录简介LinkedHashMap详解插入访问removeEldestEntry总结深入理解HashMap和LinkedHashMap的区别简介我们知道HashMap的变量顺序是不可预测的,这意味着便利的输出顺序并不一定和HashMap的插入顺序是一致的。这个特性通常会对我们的工作造成一定的困扰。为了实现这个功能,我们可以使用LinkedHashMap。LinkedHashMap详解...原创 2020-05-02 07:43:59 · 11469 阅读 · 1 评论 -
深入理解HashMap和TreeMap的区别
文章目录简介HashMap和TreeMap本质区别排序区别Null值的区别性能区别共同点深入理解HashMap和TreeMap的区别简介HashMap和TreeMap是Map家族中非常常用的两个类,两个类在使用上和本质上有什么区别呢?本文将从这两个方面进行深入的探讨,希望能揭露其本质。HashMap和TreeMap本质区别先看HashMap的定义:public class HashMa...原创 2020-05-02 07:39:16 · 20251 阅读 · 5 评论 -
Copy ArrayList的四种方式
文章目录简介使用构造函数使用addAll方法使用Collections.copy使用stream总结Copy ArrayList的四种方式简介ArrayList是我们经常会用到的集合类,有时候我们需要拷贝一个ArrayList,今天向大家介绍拷贝ArrayList常用的四种方式。使用构造函数ArrayList有个构造函数,可以传入一个集合: public ArrayList(Co...原创 2020-05-01 08:47:40 · 10543 阅读 · 0 评论 -
asList和ArrayList不得不说的故事
文章目录简介创建ArrayListUnsupportedOperationExceptionasList转换总结asList和ArrayList不得不说的故事简介提到集合类,ArrayList应该是用到的非常多的类了。这里的ArrayList是java.util.ArrayList,通常我们怎么创建ArrayList呢?创建ArrayList看下下面的例子:List<String...原创 2020-05-01 08:43:13 · 9310 阅读 · 0 评论 -
Iterator to list的三种方法
文章目录简介使用while使用ForEachRemaining使用stream总结Iterator to list的三种方法简介集合的变量少不了使用Iterator,从集合Iterator非常简单,直接调用Iterator方法就可以了。那么如何从Iterator反过来生成List呢?今天教大家三个方法。使用while最简单最基本的逻辑就是使用while来遍历这个Iterator,在遍历...原创 2020-04-30 07:02:54 · 9711 阅读 · 0 评论 -
fail-safe fail-fast知多少
文章目录简介Fail-fast IteratorFail-fast 的原理Fail-safe Iterator总结fail-safe fail-fast知多少简介我们在使用集合类的时候,通常会需要去遍历集合中的元素,并在遍历中对其中的元素进行处理。这时候我们就要用到Iterator,经常写程序的朋友应该都知道,在Iterator遍历的过程中,是不能够修改集合数据的,否则就会抛出Concurr...原创 2020-04-30 06:54:50 · 10180 阅读 · 0 评论