有一段时间没有整理了,今天整理一下最近看JDK1.8源码发现的几个不错的function。For Java.
Base64加解密
1 | /** |
JDK1.8中util里新增了Base64文件,给我们提供了便捷。上述代码结果为:
1 | 加密后 :QmFzZTY05Yqg5a+G5rWL6K+V |
rotate
在看Collections源码时发现的,觉得很妙就记录了下来。
1 | private static <T> void rotate1(List<T> list, int distance) { |
看到这个rotate1那肯定其中还有个2咯。
1 | private static void rotate2(List<?> list, int distance) { // {1,2,3,4} 2 |
这两个方法效果一样,妙不可言啊,一起分享。
tableSizeFor
这个是HashMap源码中的一个方法,用来获取一个大于等于该数的二次幂数同时要小于等于给定的最小的二次幂数。
1 | /** |
插入排序 insertion sort
这个是在DualPivotQuicksort源码中看到抽取出来的,写法很简洁,精炼。
1 | int[] arr = {5,1,7,2,4}; |
输出结果为:
1 | [1,2,4,5,7] |
End.