数组的初始化有两种方式

  • 静态初始化: 初始化时由程序员显示置顶每个数组的初始值,由系统决定数组长度。如:
  1. int[] a1 = new int[] {1,2,3,4};
  • 动态初始化:初始化时由程序员只指定数组长度,由系统为数组元素分配初始值。如:
  1. int[] a = new int[5];

写一个类测试一下

  1. package chenlizhi;
  2.  
  3. import java.util.Arrays;
  4.  
  5. public class TestArrays {
  6. public static void main(String[] args) {
  7. int[] a1 = new int[] {4,3,2,1};
  8.  
  9. int[] a2 = new int[] {6,5,7,8};
  10.  
  11. //排序 升序
  12. Arrays.sort(a1);
  13. System.out.println("对a1数组进行排序结果为:" + Arrays.toString(a1));
  14.  
  15. //Arrays.binarySearch(a1, 4) 查找数组中值得下标 前提是必须排序不然不确定 如果有重复的返回第一个 如果没有这个值得话返回负数
  16. System.out.println("查找a1数组当中4的值下标为:"+Arrays.binarySearch(a1, 4));
  17.  
  18. //Arrays.binarySearch(a1, 1, 4, 4) 查找数组中从1到4下标中有没有值为3的 如果有返回下标 如果没有返回负数 前提必须排序
  19. System.out.println("查找a1数组从下标1开始到下标3结束,查看是否有为3的值" + Arrays.binarySearch(a1, 1, 3, 3));
  20.  
  21. //Arrays.copyOf(a1, 5) 复制数组 a1为被复制的数组 5为新数组的长度
  22. int[] a3 = Arrays.copyOf(a1, 5);
  23. System.out.println("a3数组的值为:" + Arrays.toString(a3));
  24.  
  25. //和上面一样 a1位被复制的数组 2为a1数组开始下标 3a1为数组结束下标
  26. int[] a4 = Arrays.copyOfRange(a1, 2, 3);
  27. System.out.println("a4数组值为:" + Arrays.toString(a4));
  28.  
  29. //查看两个数组的length和数组元素是否相同 如果都相同返回true 否则返回false
  30. System.out.println("查看a1数组和a2数组是否相同 :" + Arrays.equals(a1, a2));
  31.  
  32. //把a1数组中的值全部换为 1
  33. Arrays.fill(a1, 1);
  34. System.out.println("输出a1数组的值为:" + Arrays.toString(a1));
  35.  
  36. //把a2数组中下标1到下标3的值换为1
  37. Arrays.fill(a2, 1, 3, 1);
  38. System.out.println("输出a2数组的值为:"+ Arrays.toString(a2));
  39.  
  40. }
  41. }

输出结果为:

对a1数组进行排序结果为:[1, 2, 3, 4]
查找a1数组当中4的值下标为:3
查找a1数组从下标1开始到下标3结束,查看是否有为3的值2
a3数组的值为:[1, 2, 3, 4, 0]
a4数组值为:[3]
查看a1数组和a2数组是否相同 :false
输出a1数组的值为:[1, 1, 1, 1]
输出a2数组的值为:[6, 1, 1, 8]

还有cpu并行来提供性能  基于jdk 1.8

  1. package platform.county.jiange.web.security;
  2.  
  3. import java.util.Arrays;
  4. import java.util.function.IntBinaryOperator;
  5. import java.util.function.IntUnaryOperator;
  6. /**
  7. * jdk8增强arrays类 cpu并行
  8. * @author Administrator
  9. *
  10. */
  11. public class ArraysTest {
  12. public static void main(String[] args) {
  13. //cpu并行排序
  14. int [] a = new int [] {98 , 78 , 67 , 564 , 49 , 34};
  15. Arrays.parallelSort(a);
  16. System.out.println(Arrays.toString(a));
  17.  
  18. //指定数组新的计算结果
  19. int [] a1 = new int [] {98 , 78 , 67 , 564 , 49 , 34};
  20. Arrays.parallelPrefix(a1, new IntBinaryOperator() {
  21.  
  22. @Override
  23. public int applyAsInt(int left, int right) {
  24. //left 代表前一个索引 right代表现在的索引
  25. //类似 98 * 78 , 78 * 67 然后把值重新赋值给数组
  26. return left * right;
  27. }
  28. });
  29. System.out.println(Arrays.toString(a1));
  30.  
  31. //给a3数组赋值 使用表达式
  32. int [] a3 = new int [10] ;
  33. Arrays.parallelSetAll(a3, new IntUnaryOperator() {
  34.  
  35. @Override
  36. public int applyAsInt(int operand) {
  37. //operand 代表现在正在计算的索引 索引位置 * 5
  38. return operand * 5;
  39. }
  40. });
  41. System.out.println(Arrays.toString(a3));
  42. }
  43. }

输出

  1. [34, 49, 67, 78, 98, 564]
  2. [98, 7644, 512148, 288851472, 1268820240, 190215200]
  3. [0, 5, 10, 15, 20, 25, 30, 35, 40, 45]

jdk1.8 对数组及arrays类对数组的操作与增强的更多相关文章

  1. Java数组声明创建和使用以及多维数组、Arrays类、稀疏数组

    目录 数组概述 数组声明创建 内存分析 java内存分析 堆 栈 方法区 三种初始化 静态初始化 动态初始化 数组的默认初始化 数组的四个基本特点 数组边界 小结: 数组使用 数组基础使用 For E ...

  2. Java数组和Arrays 类

    1.创建数组的三种方式: ①动态初始化:数组的初始化和数组元素的赋值操作分开进行 dataType[ ] arrayRefVar = new dataType [ arraySize ] ; Emp ...

  3. Java从零开始学十(Arrays类对数组的常用方法)

    一.Arrays类常用方法 二.简单例子 package com.pb.demo1; import java.util.Arrays; /* * Arrays工具类的中的几个常用方法 * 1.copy ...

  4. Java数组05——Arrays类

    Arrays类讲解  package array; ​ import java.util.Arrays; ​ public class ArrayDemon07 {     public static ...

  5. java数组中Arrays类

    使用Arrays类之后要先导入包,即在开头添加这行: import.java.util.Arrays 1,排序:Arrays.sort(数组名) 排序后为数组升序. 2,将数组转换成字符串:Array ...

  6. 慕课网-Java入门第一季-6-7 使用 Arrays 类操作 Java 中的数组

    来源:http://www.imooc.com/code/1556 Arrays 类是 Java 中提供的一个工具类,在 java.util 包中.该类中包含了一些方法用来直接操作数组,比如可直接实现 ...

  7. 数组 Arrays类

    1.数组是一组变量集合,用来存储相同数据类型的一组数据的连续的空间. *数组名(标识符)连续空间首地址. *元素下标标明元素在数组中的位置,从0开始. *每个元素都可以通过下标来访问. *数组长度固定 ...

  8. [java初探05]__数组的简单认识及Arrays类的常用方法

    数组是具有相同数据类型的一组数据的集合.在程序设计中,这样的集合称之为数组.数组的每个元素都具有相同的数据类型,在Java中数组也被看为一个对象. 在里,了解了数组的定义之后, 我们知道了,数组并不是 ...

  9. Java中数组操作 java.util.Arrays 类常用方法的使用

    任何一门编程语言,数组都是最重要和常用的数据结构之一,但不同的语言对数组的构造与处理是不尽相同的. Java中提供了java.util.Arrays 类能方便地操作数组,并且它提供的所有方法都是静态的 ...

随机推荐

  1. shevle模块

    什么是shevle模块 该模块用于序列化python中的数据,但是序列化已经有pickle了为什么出现了shevle? 因为shevle更加简单,封装了文件的读写操作.load和dump操作, 只有一 ...

  2. AWS S3

    Amazon Simple Storage Service (Amazon S3) Amazon S3 提供了一个简单 Web 服务接口,可用于随时在 Web 上的任何位置存储和检索任何数量的数据.此 ...

  3. element-ui table多选CheckBox参数解析

    element-UI里的table表格与多选框CheckBox的组合很常用,官网也给了很多参数,自己总结了一下,方便日后使用 1.简易用法,没有附加的功能 要在表格里使用CheckBox很简单,只需设 ...

  4. 1、The Fctory Pattern(工厂模式:解决对象创建问题)

    The Fctory Pattern  处理对象创建,客户端可以申请一个对象而不用知道对象被那个class创建.可以方便地解耦对象的使用和创建,有两种实现,工厂方法和抽象工厂. Method(工厂方法 ...

  5. es第一篇:Getting Started

    es是一个近乎实时的搜索平台,这意味着从索引文档到文档可搜索,是有一点点延迟的(通常是一秒).es集群是一个或多个节点的集合,它们共同保存数据,并提供跨所有节点的联合索引和搜索功能.集群名由clust ...

  6. 08-oracle统计函数(单组分组函数)

    --count时尽量count(列名),count(*)也可以. --count,max,min,sum,avg,median(中位数) select count(empno),count(disti ...

  7. 正则表达式控制Input输入内容 ,js正则验证方法大全

    https://blog.csdn.net/xushichang/article/details/4041507 //输入姓名的正则校验 e.currentTarget.value = e.curre ...

  8. EntityManager对象管理

    根据EntityManager对象的管理方式,可以有以下两种类型: — 容器托管的(container-managed)EntityManager对象 容器托管的EntityManager对象最简单, ...

  9. Mac新手问题

    [现象:]MAC下checkout代码时,报svn:E170013-unable to connect to a repository at url xxx, svn:E1700113: unable ...

  10. 模拟登陆Github示例

    首先进入github登录页:https://github.com/login 输入账号密码,打开开发者工具,在Network页勾选上Preserve Log(显示持续日志),点击登录,查看Sessio ...