Heim  >  Artikel  >  Java  >  [Java-Tutorial] Java-Array

[Java-Tutorial] Java-Array

黄舟
黄舟Original
2016-12-26 13:22:091295Durchsuche

Java Array

Array ist eine der wichtigen Datenstrukturen für jede Bearbeitungssprache. Natürlich haben verschiedene Sprachen unterschiedliche Implementierungen und Verarbeitung von Arrays.

In der Java-Sprache bereitgestellte Arrays werden zum Speichern von Elementen mit fester Größe desselben Typs verwendet.

Sie können eine Array-Variable wie Zahlen[100] deklarieren, anstatt direkt 100 unabhängige Variablen Zahl0, Zahl1, ..., Zahl99 zu deklarieren.

Dieses Tutorial führt Sie in die Deklaration, Erstellung und Initialisierung von Java-Arrays ein und stellt Ihnen den entsprechenden Code zur Verfügung.

Array-Variablen deklarieren

Zuerst müssen Sie eine Array-Variable deklarieren, bevor Sie das Array in Ihrem Programm verwenden können. Das Folgende ist die Syntax zum Deklarieren von Array-Variablen:

dataType[] arrayRefVar;   // 首选的方法

或

dataType arrayRefVar[];  // 效果相同,但不是首选方法

Hinweis: Es wird empfohlen, den Deklarationsstil von dataType[] arrayRefVar zum Deklarieren von Array-Variablen zu verwenden. Der dataType arrayRefVar[]-Stil stammt aus der C/C++-Sprache und wird in Java übernommen, um C/C++-Programmen ein schnelles Verständnis der Java-Sprache zu ermöglichen.

Beispiele

Im Folgenden finden Sie Codebeispiele dieser beiden Syntaxen:

double[] myList;         // 首选的方法

或

double myList[];         //  效果相同,但不是首选方法

Erstellen von Arrays

Die Java-Sprache verwendet den neuen Operator zum Erstellen von Arrays . Die Syntax lautet wie folgt:

arrayRefVar = new dataType[arraySize];

Die obige Syntaxanweisung bewirkt zwei Dinge:

1. Erstellen Sie ein Array mit dataType[arraySize].

2. Weisen Sie die Referenz des neu erstellten Arrays der Variablen arrayRefVar zu.

Die Deklaration von Array-Variablen und die Erstellung eines Arrays können in einer Anweisung abgeschlossen werden, wie unten gezeigt:

dataType[] arrayRefVar = new dataType[arraySize];

Darüber hinaus können Sie ein Array auch auf folgende Weise erstellen .

dataType[] arrayRefVar = {value0, value1, ..., valuek};

Der Zugriff auf die Elemente eines Arrays erfolgt über den Index. Die Array-Indizierung beginnt bei 0, daher reichen die Indexwerte von 0 bis arrayRefVar.length-1.

Beispiel

Die folgende Anweisung deklariert zunächst eine Array-Variable myList, erstellt dann ein Array mit 10 Double-Typ-Elementen und weist seinen Verweis der myList-Variablen zu.

double[] myList = new double[10];

Das Bild unten zeigt das Array myList. Hier gibt es 10 Double-Elemente im myList-Array, und ihre Indizes reichen von 0 bis 9.

[Java-Tutorial] Java-Array

Arrays verarbeiten

Der Elementtyp des Arrays und die Größe des Arrays werden bestimmt, daher verwenden wir bei der Verarbeitung von Array-Elementen normalerweise eine einfache Schleife oder für jeden Zyklus.

Beispiel

Dieses Beispiel zeigt vollständig, wie Arrays erstellt, initialisiert und manipuliert werden:

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // 打印所有数组元素
      for (int i = 0; i < myList.length; i++) {
         System.out.println(myList[i] + " ");
      }
      // 计算所有元素的总和
      double total = 0;
      for (int i = 0; i < myList.length; i++) {
         total += myList[i];
      }
      System.out.println("Total is " + total);
      // 查找最大元素
      double max = myList[0];
      for (int i = 1; i < myList.length; i++) {
         if (myList[i] > max) max = myList[i];
      }
      System.out.println("Max is " + max);
   }
}

Die Ergebnisse der Kompilierung und Ausführung des obigen Beispiels lauten wie folgt:

1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5

foreach-Schleife

JDK 1.5 führt einen neuen Schleifentyp ein, der als foreach-Schleife oder erweiterte Schleife bezeichnet wird und ein Array ohne Verwendung von Indizes durchlaufen kann.

Beispiel

Dieses Beispiel wird verwendet, um alle Elemente im Array myList anzuzeigen:

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // 打印所有数组元素
      for (double element: myList) {
         System.out.println(element);
      }
   }
}

Die Kompilierungs- und Ausführungsergebnisse des obigen Beispiels lauten wie folgt:

1.9
2.9
3.4
3.5

数组作为函数的参数

数组可以作为参数传递给方法。例如,下面的例子就是一个打印int数组中元素的方法。

public static void printArray(int[] array) {
  for (int i = 0; i < array.length; i++) {
    System.out.print(array[i] + " ");
  }
}

下面例子调用printArray方法打印出 3,1,2,6,4和2:

printArray(new int[]{3, 1, 2, 6, 4, 2});



数组作为函数的返回值

public static int[] reverse(int[] list) {
  int[] result = new int[list.length];

  for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
    result[j] = list[i];
  }
  return result;
}

以上实例中result数组作为函数的返回值。


Arrays 类

java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能:

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

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

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

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

具体说明请查看下表:

序号

方法和说明

1    public static int binarySearch(Object[] a, Object key)
用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。    

2    public static boolean equals(long[] a, long[] a2)
如果两个指定的 long 型数组彼此相等,则返回 true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。    

3    public static void fill(int[] a, int val)
将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。    

4    public static void sort(Object[] a)
对指定对象数组根据其元素的自然顺序进行升序排列。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。    

 以上就是【java教程】Java 数组的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn