java数组及arrays类对数组的操作实例

数组的初始化有两种方式

静态初始化: 初始化时由程序员显示置顶每个数组的初始值,由系统决定数组长度。如:

int[] a1 = new int[] {1,2,3,4};

动态初始化:初始化时由程序员只指定数组长度,由系统为数组元素分配初始值。如:

 int[] a = new int[5];

写一个类测试一下

package chenlizhi;

import java.util.Arrays;

public class TestArrays {
  public static void main(String[] args) {
    int[] a1 = new int[] {4,3,2,1};

    int[] a2 = new int[] {6,5,7,8};

    //排序 升序
    Arrays.sort(a1);
    System.out.println("对a1数组进行排序结果为:" + Arrays.toString(a1));

    //Arrays.binarySearch(a1, 4) 查找数组中值得下标 前提是必须排序不然不确定 如果有重复的返回第一个 如果没有这个值得话返回负数
    System.out.println("查找a1数组当中4的值下标为:"+Arrays.binarySearch(a1, 4));

    //Arrays.binarySearch(a1, 1, 4, 4) 查找数组中从1到4下标中有没有值为3的  如果有返回下标 如果没有返回负数 前提必须排序
    System.out.println("查找a1数组从下标1开始到下标3结束,查看是否有为3的值" + Arrays.binarySearch(a1, 1, 3, 3));

    //Arrays.copyOf(a1, 5) 复制数组 a1为被复制的数组 5为新数组的长度
    int[] a3 = Arrays.copyOf(a1, 5);
    System.out.println("a3数组的值为:" + Arrays.toString(a3));

    //和上面一样 a1位被复制的数组 2为a1数组开始下标 3a1为数组结束下标
    int[] a4 = Arrays.copyOfRange(a1, 2, 3);
    System.out.println("a4数组值为:" + Arrays.toString(a4));

    //查看两个数组的length和数组元素是否相同 如果都相同返回true 否则返回false
    System.out.println("查看a1数组和a2数组是否相同 :" + Arrays.equals(a1, a2));

    //把a1数组中的值全部换为 1
    Arrays.fill(a1, 1);
    System.out.println("输出a1数组的值为:" + Arrays.toString(a1));

    //把a2数组中下标1到下标3的值换为1
    Arrays.fill(a2, 1, 3, 1);
    System.out.println("输出a2数组的值为:"+ Arrays.toString(a2));

  }
}

输出结果为:

对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]

以上这篇java数组及arrays类对数组的操作实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2017-10-14

java中数组的应用及方法

1.数组反转 复制代码 代码如下: import java.util.Arrays; public class ArrayReverse {     public static void main(String[] args){         int[] arr ={1,2,3,4,5,6,7,8,9};         reverse(arr);     }     public static void reverse(int[] arr){         for(int i=0;i<ar

Java数组的基本操作方法整理

数组是具有相同数据类型的一组数据的集合,Java支持多为数组,一维数组的每个基本单元都是基本数据类型的数据,二维数组就是每个基本单元是一维数组的一维数组,以此类推,n维数组的每个基本单元都是n-1为数组的n-1维数组.下面以一维数组为例说明Java数组的用法. 1.数组声明 数组声明有如下两种形式(方括号的位置不同): int arr[]; int[] arr2; 2.数组初始化 数组初始化也有两种形式,如下(使用new或不使用new): int arr[] = new int[]{1, 3,

Java数组操作的10大方法

1.定义一个Java数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new String[]{"a","b","c","d","e"}; 第一种是定义了一个数组,并

java数组复制的四种方法效率对比

有关数组的基础知识,有很多方面,比方说初始化,引用,遍历,以及一维数组和二维数组,今天我们先看看数组复制的有关内容. 来源于牛客网的一道选择题: JAVA语言的下面几种数组复制方法中,哪个效率最高? A.for循环逐一复制 B.System.arraycopy C.System.copyof D.使用clone方法 效率:System.arraycopy>clone>Arrays.copyOf>for循环 1.System.arraycopy的用法: public static void

Java中操作超大数的方法

我们知道Integer的最大值是 2^31 - 1,Long最大值是 2^63 -1 不管是32位机还是64位机都是这样 通常来说我们要操作一个大于 Integer最大值的数的时候会用 Long来进行 但万一我们遇到一个比 Long的最大值还大的数怎么办呢? BigInteger 这种情况还是会出现的,对于操作超大数的情况 Java提供了 BigInteger类,使用时需要实例化一个 BigInteger对象,调用它的运算方法进行加减等操作. 下面举个例子说明 操作 UUID 我们知道在Andr

Java反转字符串的10种方法

在这篇文章中,我们会讨论10种用Java反转字符串的方法,通过10个Java程序反转字符串.例如,把字符串"javaguides" 反转为 "sediugavaj". 1. 使用 + (String连接) 操作符 package net.javaguides.corejava.string; /** * * @author Ramesh Fadatare * */ public class ReverseWithStringConcat { public stati

JS数组的常用10种方法详解

数组在JavaScript中经常使用,如何对数组进行增删改非常重要,下面为数组的常用方法: 在数组末尾插入元素 arr.push(value),在数组的末尾添加一个或多个元素,并返回数组的新长度. 例如: let arr=[1,2,3,4,5] var longth=arr.push(6,7); console.log(arr, longth); 数组的arr的值变为arr[1,2,3,4,5,6,7]; length接收返回的是修改后数组的长度7; 删除数组末尾的元素 arr.pop()删除索

使用java数组 封装自己的数组操作示例

本文实例讲述了使用java数组 封装自己的数组操作.分享给大家供大家参考,具体如下: 今天感冒了,全身酸软无力,啥样不想做,就来学习吧,此节我们从初步使用java中提供的数组,然后分析相关情况,过渡到封装我们自己的数组. 一.我们先来感受一下java提供的数组,以整型数组(int[])为例,相关代码如下: public class Main { public static void main(String[] args) { int[] arr = new int[10]; for(int i

Java数组高级算法与Arrays类常见操作小结【排序、查找】

本文实例讲述了Java数组高级算法与Arrays类常见操作.分享给大家供大家参考,具体如下: 冒泡排序 冒泡排序原理 冒泡排序代码: package cn.itcast_01; /* * 数组排序之冒泡排序: * 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 */ public class ArrayDemo { public static void main(String[] args) { // 定义一个数组 int[] arr = { 24, 69, 80, 57,

Java实现删除排序数组中重复元素的方法小结【三种方法比较】

本文实例讲述了Java实现删除排序数组中重复元素的方法.分享给大家供大家参考,具体如下: 题目描述: 给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度. 不要使用额外的数组空间,必须在原地没有额外空间的条件下完成. 一:通过ArrayList解决 时间复杂度和空间复杂度都为O(n) ArrayList<Integer> list = new ArrayList<Integer>(); // 去掉数组中重复的元素 public int r

Java实现数组去除重复数据的方法详解

本文实例讲述了Java实现数组去除重复数据的方法.分享给大家供大家参考,具体如下: 前一段时间被面试问到:如果一个数组中有重复元素,用什么方法可以去重?一时间会想到用一种方法,但是后来查阅资料后发现,有好多方法可以实现,现在就总结一下,比较简单的几种. 一.用List集合实现 int[] str = {5, 6, 6, 6, 8, 8, 7,4}; List<Integer> list = new ArrayList<Integer>(); for (int i=0; i<s

Java二维数组简单定义与使用方法示例

本文实例讲述了Java二维数组简单定义与使用方法.分享给大家供大家参考,具体如下: Java的二维数组是先创建一个一维数组,然后该数组的元素再引用另外一个一维数组.在使用二维数组的时候,通过两个中括号[]来访问每一层维度的引用,直到访问到最终的数据. public class MultiDimArray{ /** * @param args */ public static void main(String[] args) { int[][] arr = new int[3][]; arr[0]