Gängige Methoden der Array-Klasse in Java

Die Arrays-Klasse befindet sich im Paket java.util und enthält hauptsächlich verschiedene Methoden zum Bearbeiten von Arrays.

import java.util.Arrays;

Erstellen Sie eine Liste: Arrays.asList()

List<String> list = Arrays.asList("zhangsan", "lisi", "wangwu", "sunliu");

Füllen Sie das Array: Arrays.fill()

int[] arr = new int[5];//新建一个大小为5的数组
Arrays.fill(arr,4);//给所有值赋值4
int[] arr = new int[5];//新建一个大小为5的数组
Arrays.fill(arr,2,4,6);//给第2位(0开始)到第4位(不包括)赋值6

Array-Sortierung: Arrays.sort()

Die Arrays-Klasse verfügt über eine statische Methode sort. Mit dieser Methode kann das zu sortierende Array zum Sortieren übergeben werden. Da es sich bei der Übergabe um eine Referenz auf ein Array handelt, wird das Ergebnis der Sortierung auch über diese Referenz geändert, um das Array zu ändern .

1. Zahlensortierung

 int[] intArray = new int[] {
    
     4, 1, 3, -23 };
Arrays.sort(intArray);

2. String-Sortierung, zuerst Großbuchstaben, dann Kleinbuchstaben

String[] strArray = new String[] {
    
     “z”, “a”,C};
Arrays.sort(strArray);
//输出: [C, a, z]
// 严格按字母表顺序排序,也就是忽略大小写排序 Case-insensitive sort
Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
//输出: [a, C, z]

3. Umgekehrte Sortierung, Sortierung in umgekehrter Reihenfolge

Arrays.sort(strArray, Collections.reverseOrder());
//输出:[z, a, C]
// 忽略大小写反向排序 Case-insensitive reverse-order sort
Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
Collections.reverse(Arrays.asList(strArray));
//输出: [z, C, a]

4. Wählen Sie die angegebene Position des Arrays zum Sortieren aus

int[] arr = {
    
    3,2,1,5,4};
Arrays.sort(arr,0,3);//给第0位(0开始)到第3位(不包括)排序
//输出:[1, 2, 3, 5, 4]

Den gesamten Inhalt des Arrays ausdrucken: Arrays.toString()

String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来
//System.out.print(str);
//输出:[3, 2, 1, 5, 4]

Array-Elemente auf Gleichheit vergleichen: Arrays.equals()

int[] arr1 = {
    
    1,2,3};
int[] arr2 = {
    
    1,2,3};
System.out.println(Arrays.equals(arr1,arr2));
//输出:true
//如果是arr1.equals(arr2),则返回false,因为equals比较的是两个对象的地址,不是里面的数,而Arrays.equals重写了equals,所以,这里能比较元素是否相等。

Binäre Suchmethode zum Finden des Indexwerts des angegebenen Elements: Arrays.binarySearch()

Das Array muss sortiert sein, sonst tritt ein Fehler auf. Element gefunden, wird nur die letzte Position zurückgegeben

int[] arr = {
    
    10,20,30,40,50};
System.out.println(Arrays.binarySearch(arr, 30));
//输出:2 (下标索引值从0开始)

int[] arr = {
    
    10,20,30,40,50};
System.out.println(Arrays.binarySearch(arr, 36));
//输出:-4 (找不到元素,返回-x,从-1开始数,如题,返回-4)

int []arr = {
    
    10,20,30,40,50};
System.out.println(Arrays.binarySearch(arr, 0,3,30));
//输出:2 (从0到3位(不包括)找30,找到了,在第2位,返回2)

int []arr = {
    
    10,20,30,40,50};
System.out.println(Arrays.binarySearch(arr, 0,3,40));
//输出:-4 (从0到3位(不包括)找40,找不到,从-1开始数,返回-4)

Abfangen von Arrays: Arrays.copeOf() und Arrays.copeOfRange()

int[] arr = {
    
    10,20,30,40,50};
int[] arr1 = Arrays.copyOf(arr, 3);
//输出:[10, 20, 30] (截取arr数组的3个元素赋值给新数组arr1)

int []arr = {
    
    10,20,30,40,50};
int []arr1 = Arrays.copyOfRange(arr,1,3);;
//输出:[20, 30] (从第1位(0开始)截取到第3位(不包括))

Acho que você gosta

Origin blog.csdn.net/twi_twi/article/details/130020483
Recomendado
Clasificación