![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java集合
文章平均质量分 73
hiCrazyYoung
这个作者很懒,什么都没留下…
展开
-
用大顶堆取出一个数组中最小的k个数
eg:从一亿个数中取出最小的k个数字分析:大顶堆满足,当前元素永远大于他的左右子树的值,非叶子节点的下标为n/2-1,左子树下标为i*2+1右子树下标为i*2+2源码:import java.util.ArrayList;/** * eg:一亿个数中取出最小的k个数 * 采用大堆顶方式 */public class AyyayDemo { /** * 维护这个堆,使其成为一个大顶堆 * @param index 下标 * @param arr .原创 2020-08-24 16:53:26 · 458 阅读 · 0 评论 -
Stack入栈出栈
原创 2020-02-19 15:38:43 · 818 阅读 · 0 评论 -
java集合----超详细图解(ArrayList线程安全解决三种解决方法!)
(注意:多线程情况下的判断,如果你能确定就两个线程(不包括main主线程或者是说GC),判断可以用if,但如果是多个线程则用while,否则会出现错误)ArrayList线程安全的几个问题解决(Hash Set、HashMap同等):arraylist不是线程安全的他的add方法没有synchronized同步锁控制,要想实现一个线程安全的集合可以有以下三种方案:1、使用Vecto...转载 2019-08-04 17:55:05 · 1723 阅读 · 0 评论