zoukankan      html  css  js  c++  java
  • 万能的数组工具类: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: estJavaJava8Java4src>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。

  • 相关阅读:
    VS2008 环境中完美搭建 Qt 4.7.4 静态编译的调试与发布 Inchroy's Blog 博客频道 CSDN.NET
    编写可丢弃的代码
    c++ using namespace std; 海明威 博客园
    解决MySQL server has gone away
    nginx upstream 调度策略
    (2006, 'MySQL server has gone away') 错误解决 dba007的空间 51CTO技术博客
    Linux IO模型漫谈(2) 轩脉刃 博客园
    redis源码笔记 initServer 刘浩de技术博客 博客园
    MySQLdb批量插入数据
    词库的扩充百度百科的抓取你知道这些热词吗? rabbit9898 ITeye技术网站
  • 原文地址:https://www.cnblogs.com/ainima/p/6331681.html
Copyright © 2011-2022 走看看