数据结构
sinat_25444819
这个作者很懒,什么都没留下…
展开
-
java基本数据类型集合篇:PriorityQueue
在刷leecode的23题MergekSortedLists时,看到一种解法是使用PriorityQueue来解决的,官方答案中只有python的代码,尝试了之后发现java中也有PriorityQueue类,因此记录一下对这个类的分析。PriorityQueue类位于java.util包,方法也不多,是一个基于优先级堆的无界优先级队列,队列数据的排序依据于元素自身的比较器或者是在Priorit...原创 2019-04-16 21:00:19 · 471 阅读 · 0 评论 -
java基本数据类型:BigDecimal
今天在工作过程中喷到的问题,与BigDecimal这个类型相关。需求上是前端传两个参数,税前金额和税后金额,后端要校验关系是否正确,参数的接收使用BigDecimal类型。两个参数如下所示BigDecimal amount = request.getAmount().divide(new BigDecimal(1.071),2,BigDecimal.ROUND_DOWN);BigDecim...原创 2019-05-05 17:02:16 · 2783 阅读 · 0 评论 -
List与Set for each循环remove比较
写这篇文章的原因还是老生常谈的Iterator中调用Collection的remove会出现各种各样的bug的问题。但是List和Set中出现的情形不一样,因此深挖一下并进行比较。首先我们来看现象,此处用最常用的ArrayList和HashSet举例:List1.public static void main(String[] args) { List<Integer...原创 2019-05-31 16:10:39 · 370 阅读 · 0 评论 -
java基本数据类型集合篇:LinkedList
在之前我们说到过一种特殊的Queue——PriorityQueue,但是我们最常用的Queue应该还要数LinkedList,本文就来看看它的内部实现。我们可以看到,LinkedList类其实是List和Deque(双端队列)的结合,因此功能强大,受到大家的青睐。1LinkedList类本质上只包含四个属性:size表示当前列表长度,first表示头节点,last表示尾节点,以及继承自Ab...原创 2019-07-25 15:40:00 · 596 阅读 · 0 评论 -
TreeSet/HashSet(TreeMap/HashMap) 区别
1、构造函数TreeSet的无参构造函数如下 public TreeSet() { this(new TreeMap<E,Object>()); } TreeSet(NavigableMap<E,Object> m) { this.m = m; }也就是说底层存储数据的是一个TreeMap,TreeMap是由红...原创 2019-10-09 11:27:43 · 429 阅读 · 0 评论