Java 8增强的工具类 Arrays(二)
来源:互联网 发布:手机声卡软件 编辑:程序博客网 时间:2024/05/21 06:18
一、排序方法:
5.1、void sort(type[] a)
作用:给数组a排序
5.2、void sort(type[] a,int fromIndex,int toIndex)
作用:给数组a指定的范围排序
5.3、源码:
public static void sort(byte[] a) {
DualPivotQuicksort.sort(a);
}
public static void sort(byte[] a, int fromIndex, int toIndex) {
rangeCheck(a.length, fromIndex, toIndex);
DualPivotQuicksort.sort(a, fromIndex, toIndex - 1);
}
public static void sort(byte[] a, int left, int right) {
// Use counting sort on large arrays
if (right - left > COUNTING_SORT_THRESHOLD_FOR_BYTE) {
int[] count = new int[NUM_BYTE_VALUES];
for (int i = left - 1; ++i <= right;
count[a[i] - Byte.MIN_VALUE]++
);
for (int i = NUM_BYTE_VALUES, k = right + 1; k > left; ) {
while (count[--i] == 0);
byte value = (byte) (i + Byte.MIN_VALUE);
int s = count[i];
do {
a[--k] = value;
} while (--s > 0);
}
} else { // Use insertion sort on small arrays
for (int i = left, j = i; i < right; j = ++i) {
byte ai = a[i + 1];
while (ai < a[j]) {
a[j + 1] = a[j];
if (j-- == left) {
break;
}
}
a[j + 1] = ai;
}
}
}
二、转换方法:
6.1、void parallelSort(type[] a)
6.2、void parallelSort(type[] a,int fromIndex,int toIndex)
作用:这两个方法和sort方法相同,只不过增加并行能力,可以利用多CPU并行来提高性能。(Java 8中增加的新功能)
6.3、XXXStream stream(xxx[] array)
6.4、XXXStream stream(xxx[] array,int fromIndex,int toIndex)
作用:将数组转换为Stream,Stream是Java 8新增的流式编程的API
总结:Arrays类中的static方法很多,在Java 8中新增了很多支持并行的方法,随着现代PC和服务机的硬件发展,java提供更多人性化的功能。
- Java 8增强的工具类 Arrays(二)
- java 8 增强的工具类:Arrays
- Java 8增强的工具类 Arrays(一)
- JAVA8 增强的工具类: Arrays
- java8增强的工具类 :Arrays
- java8增强的工具类:Arrays
- Java 8中的增强的Arrays
- 【java的Arrays工具类】
- Java-Arrays的工具类
- java的Arrays工具类
- java Arrays工具类
- java Arrays工具类
- Java-Arrays工具类
- java的Arrays工具类实战
- Java中Arrays工具类的用法
- Java工具类之Arrays(一)
- java集合(工具类Arrays)
- 黑马程序员——Java基础---集合框架(二)及工具类Collections、Arrays
- qt 移植到2440
- nexus 上传文件至服务器
- 构建cocos2dx项目和打包
- Kubernetes 1.2 新功能介绍:Ingress 原理及实例
- Ubutu12.04 andoid studio安装过程和遇到的问题解决
- Java 8增强的工具类 Arrays(二)
- 棒!使用.NET Core构建3D游戏引擎
- IPC(二)---IPC基础概念介绍
- shiro实战(一)
- sqlmap cookie注入实战
- Android菜鸟之学习android源码之四(修改系统默认字体尺寸)
- ES6中Set和WeakSet的使用
- Android开发:android studio报错: Failed to resolve: com.android.support.constraint:constraint-layout:1.0.
- 为什么作为Android开发想学学React&&React Native?