Java Arrays类 -11天 学习笔记

Arrays类

数组的工具类java.util.Arrays

  • 由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。

  • 查看JDK帮助文档

  • Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而"不用"使用对象来调用(注意:是"不用”而不是"不能")

  • 具有以下常用功能:

◆给数组赋值:通过fill 方法。

◆对数组排序:通过sort方法,按升序。

◆比较数组:通过equals方法比较数组中元素值是否相等。

◆查找数组元素: 通过binarySearch方法能对排序好的数组进行二分查找法操作。

Array工具类

java.util.Arrays类即为操作数组的工具类,包含了用来操作数组(比.如排序和搜索)的各种方法。

boolean equals(int[ ] a,int[ ] b) 判断两个数组是否相等。
String toString(int[ ] a) 输出数组信息。
void fill(int[ ] a,int val) 将指定值填充到数组之中。
void sort(int[ ] a) 对数组进行排序。
int binarySearch(int[ ] a,int key) 对排序后的数组进行二分法检索指定的值。
package com.oop.Demo07;

import java.util.Arrays;

public class Demo01 {
    
    
    public static void main(String[] args) {
    
    

        //1.boolean equals(int[ ] a,int[ ] b)     判断两个数组是否相等。
        int[] array = {
    
    1,2,3,4,59,6,7};
        int[] array1 = {
    
    1,2,8,4,5,6,7};
        boolean isEquals =  Arrays.equals(array,array1);
        System.out.println(isEquals);

        //2.String toString(int[] a)      输出数组信息。
        System.out.println(Arrays.toString(array));

        //3.void fill(int[] a,int val)	将指定值填充到数组之中。
        Arrays.fill(array,2);
        System.out.println(Arrays.toString(array));

        //4.void sort(int[] a)	对数组进行排序。
        Arrays.sort(array1);
        System.out.println(Arrays.toString(array1));

        //5.int binarySearch(int[] a,int key)	对排序后的数组进行二分法检索指定的值。
        int index = Arrays.binarySearch(array1,4);
        System.out.println(index); //返回负数没找到


    }
}

数组中的异常

数组脚标越界异常(ArrayIndexOutOfBoundsException)
int[] arr = new int[2]; System.out.println(arr[2]); System.out.println(arr[-1]); 访问到了数组中的不存在的脚标时发生。
空指针异常 (NullPointerException)
int[] arr = null; System.out.println(arr[0]); arr引用没有指向实体,却在操作实体中的元素时。
import java.util.Arrays;

public class ArraysDemo04
{
    
    
public static void main (String[] args){
    
    
//定义创建赋值数组
	int[] a ={
    
    1,65,3,55485,44,88,222};
 //打印数组元素
	//	System.out.println(Arrays.toString(a));
	//	PrintArrays(a);
	//给数组升序
	Arrays.sort(a);
	System.out.println(Arrays.toString(a));
	//用自带方法给数组赋值
	String[] arrays = new String[5];
	//给5个数填充Hello
	Arrays.fill(arrays,"Hello");
	//从0下标开始第2-3个数被填充为Word
	// 包括2开始,不包括4结束
	Arrays.fill(arrays,2,4,"Word");
				
	System.out.println(Arrays.toString(arrays));
	System.out.println(arrays[0]);
				
		}
  //自己做一个跟Arrays.toString一样的方法
	//只是自己理解,一般不用自己做不用重复造轮
	public static void PrintArrays(int[] a){
    
    
	for(int i = 0;i < a.length;i++){
    
    
						
	if(i==0){
    
    
	System.out.print("[");
	}if(i==a.length-1){
    
    
	System.out.print("]");
	}else{
    
    
	System.out.print(" "+a[i]+" "+",");
		}
	}
				
	}

猜你喜欢

转载自blog.csdn.net/yibai_/article/details/114648398