import java.util.Arrays;

int[] array1={7,8,3,2,12,6,5,4};

1.  //克隆clone 
int[] array2=array1.clone(); 
System.out.println("arry2克隆的结果是:"+Arrays.toString(array2));

2.  //复制copyof

①方法一:
int [] array3=Arrays.copyOf(array1, 4); // "4"表示复制的长度
System.out.println("arry3复制copyof的结果:"+Arrays.toString(array3));    //输出:[7,8,2,12]

②方法二:
System.arraycopy(src, srcPos, dest, destPos, length);
src -- 这是源数组.
srcPos -- 这是源数组中的起始位置。
dest -- 这是目标数组。
destPos -- 这是目标数据中的起始位置。
length -- 这是一个要复制的数组元素的数目。

异常:
    IndexOutOfBoundsException -- 如果复制会导致访问数组边界之外的数据
    ArrayStoreException -- 如果src数组中的元素不能被存储到dest数组中,因为类型不匹配
    NullPointerException -- 如果src或dest为null

例,
int arr1[] = { 0, 1, 2, 3, 4, 5 };
int arr2[] = { 11, 10, 20, 30, 40, 50 };
//从数组arr1中的第0个位置开始复制3个数,复制到arr2中,从b中的1位置开始存放
System.arraycopy(arr1, 0, arr2, 1, 3);   
System.out.println(Arrays.toString(arr2));  //输出:[11, 0, 1, 2, 40, 50]

3.判断两个数组是否相等:
        String[] a={"a","b","c"};
        String[] b={"a","b","c"};
        System.out.println(a.equals(b));//false
        System.out.println(a == b);//false
        System.out.println(Arrays.equals(a, b));//true

注意:

基本数据类型的数组的equals方法没有重载Object的equals方法,所以跟“==”效果一样 ,所以你这里 a.equals(b) 效果和 a == b是一样的,==比较的是内存地址,结果是false。
如果想要比较内容相同,可以使用Arrays.equals(a,b)。

4.  //对数组的第2个到第7个进行排序进行排序
Arrays.sort(array1,2,8);
System.out.print("对数组的第2个到第6个元素进行排序进行排序:Arrays.sort(array1,2,7):");
System.out.println(Arrays.toString(array1));

5.  //将arry1整体排序 sort  
Arrays.sort(array1);
//toString 转换为字符串
System.out.println("排序后的arry1的值:"+Arrays.toString(array1));

6. //排序后arry1与arry2是否还相等 equals  
System.out.println("排序后arry1与arry2是否还相等:"+Arrays.equals(array1, array2));

7. //填充 fill  
     Array.fill(arrayname,value);
     Array.fill(arrayname ,starting index ,ending index ,value)
例,
Arrays.fill(array3, 6);  //将数字6填充到数组array3,输出:{6,6,6,6,6,6,6,6}
Arrays.fill(array3, 2, 4, 9);  //将数组9从索引值2填充到索引值4
System.out.println("填充之后arry2的值:"+Arrays.toString(array3));//输出:{7,8,6,6,12,6,5,4}
 
8. //查询binarySearch
System.out.println("数字6在arry1中的位置:"+Arrays.binarySearch(array1, 6));

9. //将数组array1转换为List
        String[] name=new String[]{"a","b","c"};
        //转换为集合
        List<String> list=Arrays.asList(name);
        System.out.println(list);

10.数组的删除:
ArrayList<Integer> a = new ArrayList<Integer>();
for(int i=0;i<10;i++){
    a.add(i);
}
    a.remove(1);
        
System.out.println(a);   //输出:[0, 2, 3, 4, 5, 6, 7, 8, 9]

11.数组的查找:
①第一种方法:(这种方法需要用动态数组ArrayList)
ArrayList a = new ArrayList();
for(int i=0;i<10;i++){
    a.add(i);
}
a.remove(0);
System.out.println(a);   //输出:[1, 2, 3, 4, 5, 6, 7, 8, 9]
System.out.println(a.contains(1)); //返回boolea值      输出:true

②第二种方法:
int[] aa={1,2,3};
System.out.println("数字2在数组aa中的位置:"+Arrays.binarySearch(aa, 2));  //返回索引值  输出:1

注意:Java中Arrays的asList()方法 可以将数组转为List 但是,这个数组类型必须是引用类型,如果是8种基本数据类型就不可以!

JAVA中数组Arrays类的常见用法的更多相关文章

  1. JAVA中数组的基本概念与用法

    JAVA中数组的基本概念与用法 1. 数组的定义与特点 数组的一种引用数据类型 数组中可以同时存放多个数据,但是数据的类型必须统一 数组的长度在开始时就需要确定,在程序运行期间是不可改变的 虽然可以使 ...

  2. Java中数组Arrays.binarySearch,快速查找数组内元素位置

    在数组中查找一个元素,Arrays提供了一个方便查询的方法.Arrays.binarySearch(): 测试列子: public class MainTestArray { public stati ...

  3. Java中的Arrays类使用详解

    首先先创建一个打印数组的方法,方便后面直接使用 public static void output(int []a) { for(int i=0;i<a.length;i++) { System ...

  4. java中的Arrays类

    今天刚接触了数组,学到了几个比较常用的方法 Fill方法:给数组赋值 sort方法:给数组升序 equals方法:比较数组中元素 值是否相等 binarySearch方法:对排序好的数组进行二分查找法 ...

  5. Java中数组的特性

    转载:http://blog.csdn.net/zhangjg_blog/article/details/16116613 数组是基本上所有语言都会有的一种数据类型,它表示一组相同类型的数据的集合,具 ...

  6. Java中的Unsafe类111

    1.Unsafe类介绍 Unsafe类是在sun.misc包下,不属于Java标准.但是很多Java的基础类库,包括一些被广泛使用的高性能开发库都是基于Unsafe类开发的,比如Netty.Hadoo ...

  7. 将java中数组转换为ArrayList的方法实例(包括ArrayList转数组)

    方法一:使用Arrays.asList()方法   1 2 String[] asset = {"equity", "stocks", "gold&q ...

  8. java 中常用的类

    java 中常用的类 Math Math 类,包含用于执行基本数学运算的方法 常用API 取整 l  static double abs(double  a) 获取double 的绝对值 l  sta ...

  9. java中数组以及集合

    java中数组: 数组在Java里是一种特殊类型,有别于普通的“类的实例”的对象.但实际数组也是一种对象类型,int[]a = new int[5]  a是在java栈中分配的引用变量,类型是int[ ...

随机推荐

  1. fenby C语言 P32

    a[0] a[0][0] a[0][1] a[0][2] a[1] a[1][0] a[1][1] a[1][2]//一维数组 int a[2][3]//二维数组int (*p)[3]=a; #inc ...

  2. python3 自己写的一个小算法(比对中文文本相似度)

    函数使用说明: 函数的三个参数分别是“匹配语句”,“匹配语料”,“相关度”: 匹配语句,和匹配预料中的语句匹配的语句,必须为字符串: 匹配语料,被匹配语句来匹配的语句列表,必须为列表: 相关度,函数只 ...

  3. F#周报2019年第45期

    新闻 邀请博客主们:2019年的F# Advent日历 宣告ML.NET 1.4 .NET Core与Jupyter笔记本 在Jupyter笔记本中使用ML.NET 用于Windows桌面的.NET ...

  4. 测试工程师,选择python还是java?

    问:“你平时工作中,用java多还是用python多”? 答:“都还可以,根据具体的场景选择不同的语言”. 问:“比如说呢”? 答:“开发自己的测试平台,肯定会选择java:在centos服务器跑一些 ...

  5. js基础总结02--字符串操作

    1.字符串中对单个字符位置的操作 indexOf(char); 从左往右查找,返回匹配到的第一个字符的位置,没有匹配则返回-1 lastiIndexOf(char); 从右往左查找,返回匹配到的第一个 ...

  6. 使用Typescript重构axios(十)——异常处理:增强版

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  7. CDQ分治(学习笔记)

    离线算法——CDQ分治 CDQ (SHY)显然是一个人的名字,陈丹琪(MM)(NOI2008金牌女选手). 从归并开始(这里并没有从逆序对开始,是想直接引入分治思想,而不是引入处理对象) 一个很简单的 ...

  8. Nginx正则配置

    Nginx配置中Location的语法规则 location [ = | ~ | ~* | ^~ | !~ | !~* ] /uri/{ - } = 表示精确匹配 ~ 表示区分大小写正则匹配 ~* 表 ...

  9. 2019年10月13日 计算机英语习题 wangqingchao

    Match the explanations in Column B with words and expressions in Columna. (搭配每组中意义相同的词或短语) Types of ...

  10. HTML 转 PDF 之 wkhtmltopdf

    wkhtmltopdf是一个可以把html转为pdf的插件,有windows.linux等平台的版本,比较简单 官网下载 https://wkhtmltopdf.org/downloads.html  ...