Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java - Arrays

Java biedt een gegevensstructuur, de array , die een sequentiële verzameling elementen van hetzelfde type opslaat met een vaste grootte. Een array wordt gebruikt om een ​​verzameling gegevens op te slaan, maar het is vaak handiger om een ​​array te zien als een verzameling variabelen van hetzelfde type.

In plaats van individuele variabelen te declareren, zoals getal0, getal1, ... en getal99, declareer je één arrayvariabele zoals getallen en gebruik je getallen[0], getallen[1] en ..., getallen[99] om individuele variabelen.

In deze zelfstudie wordt uitgelegd hoe u arrayvariabelen declareert, arrays maakt en arrays verwerkt met behulp van geïndexeerde variabelen.

Arrayvariabelen declareren

Om een ​​array in een programma te gebruiken, moet je een variabele declareren om naar de array te verwijzen, en moet je het type array specificeren waarnaar de variabele kan verwijzen. Hier is de syntaxis voor het declareren van een arrayvariabele −

Syntaxis

dataType[] arrayRefVar;   // preferred way.
or
dataType arrayRefVar[];  // works but not preferred way.

Opmerking − De stijl dataType[] arrayRefVar heeft de voorkeur. De stijl dataType arrayRefVar[] komt van de C/C++ taal en werd in Java geadopteerd om C/C++; programmeurs.

Voorbeeld

De volgende codefragmenten zijn voorbeelden van deze syntaxis −

double[] myList;   // preferred way.
or
double myList[];   // works but not preferred way.

Arrays maken

U kunt een array maken door de nieuwe operator te gebruiken met de volgende syntaxis −

Syntaxis

arrayRefVar = new dataType[arraySize];

De bovenstaande verklaring doet twee dingen −

  • Het maakt een array aan met het nieuwe dataType[arraySize].

  • Het wijst de referentie van de nieuw gemaakte array toe aan de variabele arrayRefVar.

Het declareren van een arrayvariabele, het maken van een array en het toewijzen van de referentie van de array aan de variabele kan worden gecombineerd in één instructie, zoals hieronder weergegeven −

dataType[] arrayRefVar = new dataType[arraySize];

Als alternatief kunt u als volgt arrays maken −

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

De array-elementen zijn toegankelijk via de index . Array-indexen zijn gebaseerd op 0; dat wil zeggen, ze beginnen van 0 tot arrayRefVar.length-1 .

Voorbeeld

De volgende instructie declareert een arrayvariabele, myList, maakt een array van 10 elementen van dubbel type en wijst de verwijzing toe aan myList −

double[] myList = new double[10];

De volgende afbeelding vertegenwoordigt array myList. Hier bevat myList tien dubbele waarden en de indices lopen van 0 tot 9.

Arrays verwerken

Bij het verwerken van array-elementen gebruiken we vaak ofwel for loop of foreach loop omdat alle elementen in een array van hetzelfde type zijn en de grootte van de array bekend is.

Voorbeeld

Hier is een compleet voorbeeld dat laat zien hoe u arrays maakt, initialiseert en verwerkt −

Live demo
public class TestArray {

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

      // Print all the array elements
      for (int i = 0; i < myList.length; i++) {
         System.out.println(myList[i] + " ");
      }
     
      // Summing all elements
      double total = 0;
      for (int i = 0; i < myList.length; i++) {
         total += myList[i];
      }
      System.out.println("Total is " + total);
      
      // Finding the largest element
      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);  
   }
}

Dit levert het volgende resultaat op −

Uitvoer

1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5

De foreach-lussen

JDK 1.5 heeft een nieuwe for-lus geïntroduceerd die bekend staat als foreach-lus of verbeterde for-lus, waarmee u de volledige array sequentieel kunt doorlopen zonder een indexvariabele te gebruiken.

Voorbeeld

De volgende code toont alle elementen in de array myList −

Live demo
public class TestArray {

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

      // Print all the array elements
      for (double element: myList) {
         System.out.println(element);
      }
   }
}

Dit levert het volgende resultaat op −

Uitvoer

1.9
2.9
3.4
3.5

Arrays doorgeven aan methoden

Net zoals u primitieve typewaarden aan methoden kunt doorgeven, kunt u ook arrays doorgeven aan methoden. De volgende methode geeft bijvoorbeeld de elementen weer in een int matrix −

Voorbeeld

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

Je kunt het aanroepen door een array door te geven. De volgende instructie roept bijvoorbeeld de methode printArray op om 3, 1, 2, 6, 4 en 2 weer te geven −

Voorbeeld

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

Een array retourneren van een methode

Een methode kan ook een array retourneren. De volgende methode retourneert bijvoorbeeld een array die de omkering is van een andere array −

Voorbeeld

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;
}

De Arrays-klasse

De klasse java.util.Arrays bevat verschillende statische methoden voor het sorteren en doorzoeken van arrays, het vergelijken van arrays en het vullen van array-elementen. Deze methoden zijn overbelast voor alle primitieve typen.

Zr.nr. Methode en beschrijving
1

public static int binarySearch(Object[] a, Object key)

Doorzoekt de opgegeven array van Object ( Byte, Int , double, etc.) voor de opgegeven waarde met behulp van het binaire zoekalgoritme. De array moet worden gesorteerd voordat deze aanroep wordt gedaan. Dit retourneert de index van de zoeksleutel, als deze in de lijst staat; anders retourneert het ( – (invoegpunt + 1)).

2

public static boolean equals(long[] a, long[] a2)

Retourneert true als de twee opgegeven matrices van longen gelijk zijn aan elkaar. Twee arrays worden als gelijk beschouwd als beide arrays hetzelfde aantal elementen bevatten en alle corresponderende paren elementen in de twee arrays gelijk zijn. Dit geeft true terug als de twee arrays gelijk zijn. Dezelfde methode kan worden gebruikt door alle andere primitieve gegevenstypen (Byte, short, Int, enz.)

3

public static void fill(int[] a, int val)

Wijst de opgegeven int-waarde toe aan elk element van de opgegeven reeks ints. Dezelfde methode kan worden gebruikt door alle andere primitieve gegevenstypen (Byte, short, Int, enz.)

4

public static void sort(Object[] a)

Sorteert de opgegeven reeks objecten in een oplopende volgorde, volgens de natuurlijke volgorde van de elementen. Dezelfde methode kan worden gebruikt door alle andere primitieve gegevenstypen (Byte, short, Int, enz.)


Java

  1. C#-matrices
  2. Java-operators
  3. Java-kopieerarrays
  4. Java-interface
  5. Java proberen-met-bronnen
  6. Java-annotaties
  7. Arrays in C++ | Verklaren | Initialiseren | Aanwijzer naar matrixvoorbeelden
  8. C++ Dynamische toewijzing van arrays met voorbeeld
  9. Zelfstudie Java-arrays:declareren, maken, initialiseren [voorbeeld]
  10. Hoe een array van objecten in Java te maken
  11. Bubble Sort Algoritme in Java:Array Sorting Program &Voorbeeld