您的位置:首页 > 其它

万能的数组工具类:Arrays

2016-09-25 14:35 330 查看
一常用方法应用
1代码示例

import java.util.Arrays;

public class ArraysTest
{
public static void main(String[] args)
{
// 定义一个a数组
int[] a = new int[]{3, 4 , 5, 6};
// 定义一个a2数组
int[] a2 = new int[]{3, 4 , 5, 6};
// a数组和a2数组的长度相等,每个元素依次相等,将输出true
System.out.println("a数组和a2数组是否相等:"
+ Arrays.equals(a , a2));
// 通过复制a数组,生成一个新的b数组
int[] b = Arrays.copyOf(a, 6);
System.out.println("a数组和b数组是否相等:"
+ Arrays.equals(a , b));
// 输出b数组的元素,将输出[3, 4, 5, 6, 0, 0]
System.out.println("b数组的元素为:"
+ Arrays.toString(b));
// 将b数组的第3个元素(包括)到第5个元素(不包括)赋为1
Arrays.fill(b , 2, 4 , 1);
// 输出b数组的元素,将输出[3, 4, 1, 1, 0, 0]
System.out.println("b数组的元素为:"
+ Arrays.toString(b));
// 对b数组进行排序
Arrays.sort(b);
// 输出b数组的元素,将输出[0, 0, 1, 1, 3, 4]
System.out.println("b数组的元素为:"
+ Arrays.toString(b));
}
}

2运行结果

a数组和a2数组是否相等:true
a数组和b数组是否相等:false
b数组的元素为:[3, 4, 5, 6, 0, 0]
b数组的元素为:[3, 4, 1, 1, 0, 0]
b数组的元素为:[0, 0, 1, 1, 3, 4]

二Java8新增方法举例
1代码示例

import java.util.Arrays;
import java.util.function.*;

public class ArraysTest2
{
public static void main(String[] args)
{
int[] arr1 = new int[]{3, -4 , 25, 16, 30, 18};
// 对数组arr1进行并发排序
Arrays.parallelSort(arr1);
System.out.println(Arrays.toString(arr1));
int[] arr2 = new int[]{3, -4 , 25, 16, 30, 18};
Arrays.parallelPrefix(arr2, new IntBinaryOperator()
{
// left代表数组中前一个所索引处的元素,计算第一个元素时,left为1
// right代表数组中当前索引处的元素
public int applyAsInt(int left, int right)
{
return left * right;
}
});
System.out.println(Arrays.toString(arr2));
int[] arr3 = new int[5];
Arrays.parallelSetAll(arr3 , new IntUnaryOperator()
{
// operand代表正在计算的元素索引
public int applyAsInt(int operand)
{
return operand * 5;
}
});
System.out.println(Arrays.toString(arr3));
}
}

2运行结果

E:\test\Java\Java8\Java4\src>java ArraysTest2
[-4, 3, 16, 18, 25, 30]
[3, -12, -300, -4800, -144000, -2592000]
[0, 5, 10, 15, 20]
3结果分析
上面代码完成了三个功能
1 对arr1进行排序。
2 对arr2中的每个元素,完成对前面元素的累乘。
3 对元素索引进行计算,将计算结果赋给arr3。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: