java基础学习
蓝瘦不香菇丶
这个作者很懒,什么都没留下…
展开
-
线程通信之两个线程交替打印数字和字母
等待通知是一个经典的范式,该范式分为两部分,分别是针对等待方(消费者)和通知方(生产者)。等待方遵循如下原则:1)获取对象的锁2)如果条件不满足,调用wait方法,被通知后仍要检查条件3)条件满足执行对应逻辑伪代码如下:synchronized(对象){ while(条件不满足){ 对象.wait(); ...原创 2019-12-15 21:25:03 · 836 阅读 · 0 评论 -
Map根据value排序
我们经常遇到需要对Map排序的情况,一般根据key排序可以使用TreeMap来保存即可自动排序。那么问题来了,如果需要根据value排序呢,怎么实现?如题:给定一个字符串数组,输出出现频率最高的k个词,如果出现频率相同,按字典序排序。分析:分三步走,1)统计出现频率,使用Map,key为单词,value为出现频率,2)根据频率从大到小排序,3)输出频率topk的单词话不多说,上代码...原创 2019-12-14 21:53:07 · 1620 阅读 · 0 评论 -
初探java8函数式编程
LambdaLambda引用的是值,不是变量,所以,lambda中引用变量,必须是final变量或者既成事实上的final变量Streamcollect(toList())collect(toList()) 方法由 Stream 里的值生成一个列表, 是一个及早求值操作List<String> collected = Stream.of("a", "b", "c"...原创 2018-12-04 16:33:08 · 147 阅读 · 0 评论 -
java8函数式编程练习
看下面两道题计算一个字符串中小写字母的个数( 提示: 参阅 String 对象的 chars 方法)。 在一个字符串列表中, 找出包含最多小写字母的字符串。 对于空列表, 返回 Optional <String> 对象第一个比较简单import java.util.ArrayList;import java.util.Comparator;import java.u......原创 2018-12-04 16:47:11 · 603 阅读 · 0 评论 -
Java 泛型,你了解类型擦除吗?
本文转自 https://blog.csdn.net/briblue/article/details/76736356泛型,一个孤独的守门者。大家可能会有疑问,我为什么叫做泛型是一个守门者。这其实是我个人的看法而已,我的意思是说泛型没有其看起来那么深不可测,它并不神秘与神奇。泛型是 Java 中一个很小巧的概念,但同时也是一个很容易让人迷惑的知识点,它让人迷惑的地方在于它的许多表现有点违反...转载 2018-12-01 15:10:45 · 124 阅读 · 0 评论