Arrays 类
Classe de ferramenta de matriz java.util.Arrays
-
Uma vez que o próprio objeto array não tem nenhum método para chamarmos, mas a API fornece uma classe de ferramenta Arrays para usarmos, para que possamos realizar algumas operações básicas no objeto de dados.
-
Veja a documentação de ajuda do JDK
-
Os métodos na classe Arrays são métodos estáticos modificados por estáticos. Quando em uso, você pode usar diretamente o nome da classe para chamar, mas "não use" para usar o objeto a ser chamado (nota: "não use" em vez de " não pode")
-
Ele tem as seguintes funções comuns:
◆ Atribuir valor ao array: por meio do método de preenchimento.
◆ Classificação do array: por meio do método de classificação, em ordem crescente.
◆ Compare arrays: compare se os valores dos elementos no array são iguais por meio do método equals.
◆ Encontrar elementos do array: a pesquisa binária pode ser realizada no array classificado por meio do método binarySearch.
Ferramentas de matriz
A classe java.util.Arrays é a classe de ferramenta para manipular matrizes, incluindo vários métodos de manipulação de matrizes (como classificação e pesquisa).
boolean equals (int [] a, int [] b) | Determine se duas matrizes são iguais. |
---|---|
String toString (int [] a) | Informações da matriz de saída. |
void fill (int [] a, int val) | Preencha o valor especificado na matriz. |
void sort (int [] a) | Classifique a matriz. |
int binarySearch (int [] a, chave int) | Dicotomize a matriz classificada para recuperar o valor especificado. |
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); //返回负数没找到
}
}
Exceção na matriz
Exceção de subscrito de matriz fora dos limites (ArrayIndexOutOfBoundsException) |
---|
int [] arr = novo int [2]; System.out.println (arr [2]); System.out.println (arr [-1]); Ocorre quando um subscrito que não existe na matriz é acessado. |
Null Pointer Exception |
int [] arr = null; System.out.println (arr [0]); A referência arr não se refere à entidade, mas ao operar o elemento na entidade. |
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]+" "+",");
}
}
}