![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 59
java学习笔记
山里的希望
这个作者很懒,什么都没留下…
展开
-
多线程、高并发笔记(六):Lock显示锁
Lock显示锁 在jdk5中增加了 Lock锁接口,有ReentrantLock实现类,ReentrantLock锁称为可重入锁,功能要比synchronized多。锁的可重入性 锁的可重入性是指,当一个线程获得一个对象锁后,再次请求该对象锁时是可以获得该对象锁的。ReentrantLockReentrantLockd 的基本使用 调用lock()获得锁,调用unlock()释放锁lockInterruptibly()原创 2021-03-08 16:00:35 · 320 阅读 · 3 评论 -
HashMap
HashMap的put方法的具体流程?答:下面先来分析一下源码final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { HashMap.Node<K,V>[] tab; HashMap.Node<K,V> p; int n, i; // 1.如果table为空或者长度为0,即没有元素,那么使用resize()方法扩容 if (原创 2020-12-10 11:12:32 · 91 阅读 · 0 评论 -
List排序
List排序基础类型List排序//对数字进行排序List<Integer> nums = Arrays.asList(3,1,5,2,9,8,4,10,6,7);nums.sort(Comparator.reverseOrder()); //reverseOrder倒序System.err.println("倒序:"+nums);nums.sort(Comparator.naturalOrder()); //naturalOrder自然排序即:正序System.err.prin原创 2020-12-10 11:53:14 · 717 阅读 · 0 评论 -
List集合取交集、并集、去除重复数据等
List集合取交集、并集、去除重复数据等1.先给出两个List集合List<String> listA = new ArrayList<String>();List<String> listB = new ArrayList<String>();listA.add("A");listA.add("B");listB.add("B");listB.add("C");2.取交集listA.retainAll(listB);System.out原创 2020-12-10 11:47:40 · 1619 阅读 · 1 评论 -
jdk 1.8 Lamda 表达式
Lamda 表达式1.分组List里面的对象元素,以某个属性来分组,例如,以id分组,将id相同的放在一起:Map<Integer,List<Apple>> groupBy = appleList .stream().collect(Collectors.groupingBy(Apple::getId));//多字段分组 Map<String, List<YourBean>> mapBy= list.stream().collect( Colle原创 2020-12-10 11:44:22 · 261 阅读 · 0 评论