万能的数组工具类:Arrays

一常用方法应用
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。

猜你喜欢

转载自cakin24.iteye.com/blog/2326684