2018-03-06 Java Java List去掉重复对象 一、 去除List中重复的String123456789public List<String> removeStringListDupli(List<String> stringList) { Set<String> set = new LinkedHashSet<>(); set.addAll(stringList); ... Continue reading...
2018-03-06 Java Java位运算 二进制与十进制间的转换方法因为位运算是对二进制数进行操作,所以先来熟悉一下十进制与二进制之间的转换方法。 正整数的十进制转换二进制要点:==除二取余,倒序排列== 解释:将一个十进制数除以二,得到的商再除以二,依此类推直到商等于一或零时为止,倒取将除得的余数,即换算为二进制数的结果 例如把52换算成二进制数,计算结果如图: ... Continue reading...
2018-03-06 Java 使用BigDecimal进行精确运算 首先我们先来看如下代码示例: 12345678public class Test_1 { public static void main(String[] args) { System.out.println(0.06+0.01); System.out.println(1.0-0.42); System.out.print... Continue reading...
2018-03-06 Java Math各个函数 Math.E常量,比任何其他值都更接近 e(即自然对数的底数)的 double 值。 Math.PI常量,比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值。 Math.random返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。 第一次调用该方法时,它将创建一个新的伪随机数生成器,与以下表达... Continue reading...
2018-03-06 Java Java中树和树的几种常规遍历方法 其中包含有先序遍历、中序遍历、后序遍历以及广度优先遍历四种遍历树的方法: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848... Continue reading...
2018-03-06 Java 聊聊并发-Java中的Copy-On-Write容器 Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArrayS... Continue reading...
2018-03-06 Java 并发工具类(一)等待多线程完成的CountDownLatch 简介 CountDownLatch 允许一个或多个线程等待其他线程完成操作。 应用场景 假如有这样一个需求,当我们需要解析一个Excel里多个sheet的数据时,可以考虑使用多线程,每个线程解析一个sheet里的数据,等到所有的sheet都解析完之后,程序需要提示解析完成。在这个需求中,要实现主线程等待所有线程完成sheet的解析操作,最简单的做法是使用join。代码如下: 12345678... Continue reading...