随笔分类 - java-collection
java集合相关的文章
摘要:1. 前言 集合是用来存储多个数据的,除了基本类型之外,集合应该是java中最最常用的类型了。java中的集合类型一般都集中在java.util包和java.util.concurrent包中。 其中util包中的集合类是基础的集合类,而concurrent包中的集合类是为并发特别准备的集合类。 集
阅读全文
摘要:JDK12为java.util.stream.Collectors添加了一个新的teeing方法,怎么翻译呢?看到很多人都把它翻译成“发球台”,我不禁潸然泪下,哪里有那么复杂,tee就是T。它的作用就像是一个T型,数据从两头进入,然后从一头流出。teeing的作用也就在此。
> 更多内容请访问[www.flydean.com](www.flydean.com)
# talk is cheap, show me the code
我最喜欢的就是一言不合上代码,文字的描述总是让人有点摸不着头脑,程序员还是要用程序说话。有了程序就有了逻辑,有了逻辑一切都有了。
各大网站上的例子都喜欢举maxBy和minBy的例子,我这里偏不,下面举一个统计学生平均分数和总分数的例子,希望大家能够喜欢
阅读全文
摘要:[toc] java中DelayQueue的使用 简介 今天给大家介绍一下DelayQueue,DelayQueue是BlockingQueue的一种,所以它是线程安全的,DelayQueue的特点就是插入Queue中的数据可以按照自定义的delay时间进行排序。只有delay时间小于0的元素才能够
阅读全文
摘要:[toc] SynchronousQueue详解 简介 SynchronousQueue是BlockingQueue的一种,所以SynchronousQueue是线程安全的。SynchronousQueue和其他的BlockingQueue不同的是SynchronousQueue的capacity是
阅读全文
摘要:[toc] PriorityQueue和PriorityBlockingQueue 简介 Queue一般来说都是FIFO的,当然之前我们也介绍过Deque可以做为栈来使用。今天我们介绍一种PriorityQueue,可以安装对象的自然顺序或者自定义顺序在Queue中进行排序。 PriorityQue
阅读全文
摘要:[toc] java中Queue家族简介 简介 java中Collection集合有三大家族List,Set和Queue。当然Map也算是一种集合类,但Map并不继承Collection接口。 List,Set在我们的工作中会经常使用,通常用来存储结果数据,而Queue由于它的特殊性,通常用在生产者
阅读全文
摘要:[toc] SkipList和java中ConcurrentSkipListMap的实现 简介 一开始听说SkipList我是一脸懵逼的,啥?还有SkipList?这个是什么玩意。 后面经过我的不断搜索和学习,终于明白了SkipList原来是一种数据结构,而java中的ConcurrentSkipL
阅读全文
摘要:[toc] java中Comparable和Comparator的区别 简介 java.lang.Comparable和java.util.Comparator是两个容易混淆的接口,两者都带有比较的意思,那么两个接口到底有什么区别,分别在什么情况下使用呢? Comparable Comparable
阅读全文
摘要:[toc] 一文弄懂EnumMap和EnumSet 简介 一般来说我们会选择使用HashMap来存储key value格式的数据,考虑这样的特殊情况,一个HashMap的key都来自于一个Enum类,这样的情况则可以考虑使用本文要讲的EnumMap。 EnumMap 先看一下EnumMap的定义和H
阅读全文
摘要:[toc] 深入理解HashMap和LinkedHashMap的区别 简介 我们知道HashMap的变量顺序是不可预测的,这意味着便利的输出顺序并不一定和HashMap的插入顺序是一致的。这个特性通常会对我们的工作造成一定的困扰。为了实现这个功能,我们可以使用LinkedHashMap。 Linke
阅读全文
摘要:[toc] 深入理解HashMap和TreeMap的区别 简介 HashMap和TreeMap是Map家族中非常常用的两个类,两个类在使用上和本质上有什么区别呢?本文将从这两个方面进行深入的探讨,希望能揭露其本质。 HashMap和TreeMap本质区别 先看HashMap的定义: ~~~java
阅读全文
摘要:[toc] Copy ArrayList的四种方式 简介 ArrayList是我们经常会用到的集合类,有时候我们需要拷贝一个ArrayList,今天向大家介绍拷贝ArrayList常用的四种方式。 使用构造函数 ArrayList有个构造函数,可以传入一个集合: ~~~java public Arr
阅读全文
摘要:[toc] asList和ArrayList不得不说的故事 简介 提到集合类,ArrayList应该是用到的非常多的类了。这里的ArrayList是java.util.ArrayList,通常我们怎么创建ArrayList呢? 创建ArrayList 看下下面的例子: ~~~java List na
阅读全文
摘要:[toc] Iterator to list的三种方法 简介 集合的变量少不了使用Iterator,从集合Iterator非常简单,直接调用Iterator方法就可以了。 那么如何从Iterator反过来生成List呢?今天教大家三个方法。 使用while 最简单最基本的逻辑就是使用while来遍历
阅读全文
摘要:[toc] 怎么在java中创建一个自定义的collector 简介 在之前的java collectors文章里面,我们讲到了stream的collect方法可以调用Collectors里面的toList()或者toMap()方法,将结果转换为特定的集合类。 今天我们介绍一下怎么自定义一个Coll
阅读全文
摘要:[toc] java stream中Collectors的用法 简介 在java stream中,我们通常需要将处理后的stream转换成集合类,这个时候就需要用到stream.collect方法。collect方法需要传入一个Collector类型,要实现Collector还是很麻烦的,需要实现好
阅读全文