Πώς να αρχικοποιήσετε έναν πίνακα σε Java



Παράταξη Ιάβα

Πώς να αρχικοποιήσετε έναν πίνακα σε Java

Οι πίνακες σε Java είναι η πιο ευρέως χρησιμοποιούμενη δομή δεδομένων που αποθηκεύει πολλές τιμές του ίδιου τύπου δεδομένων με διαδοχική σειρά. Ο πίνακας έχει σταθερό μήκος και ο δείκτης ξεκινά από 0 έως n-1 όπου n είναι το μήκος ενός πίνακα. Μπορούμε να χρησιμοποιήσουμε την τάξη συστοιχιών στην Java για να αποθηκεύσουμε οποιονδήποτε τύπο τιμής όπως String, ακέραιος, χαρακτήρας, byte, ακόμη και αντικείμενα που ορίζονται από το χρήστη. Θα μάθουμε πώς να αρχικοποιήσουμε έναν πίνακα στην Java;

Ακολουθεί η διαγραμματική αναπαράσταση ενός μονοδιάστατου πίνακα ακεραίων με 11 στοιχεία.

Πίνακες σε Java

Πίνακας περιεχομένων

Χαρακτηριστικά Java Arrays

  • Ο πίνακας έχει σταθερό μέγεθος και δεν μπορεί να αλλάξει
  • Δεδομένου ότι ο πίνακας βασίζεται σε ευρετήριο, είναι εύκολο να αποκτήσετε πρόσβαση σε τυχαία στοιχεία
  • Διαθέτει συνεχή μνήμη για στοιχεία πίνακα.
  • Μπορεί να αποθηκεύσει και τα δύο πρωτόγονα και μη πρωτόγονα δεδομένα αξιών

Πώς να δηλώσετε μια σειρά στην Java;

Δήλωση Java Arrays

Ένας πίνακας μπορεί να δηλωθεί με τους παρακάτω τρόπους. Η δήλωση συστοιχίας περιέχει 2 μέρη, πρώτα είναι ο τύπος δεδομένων των στοιχείων που πρέπει να αποθηκεύσουμε σε έναν πίνακα (όπως int, String, κ.λπ.) και ακολουθούμενο από το όνομα του πίνακα. Οι αγκύλες υποδηλώνουν ότι είναι ένας πίνακας. Όταν δηλώνουμε έναν πίνακα, απλώς λέει στον μεταγλωττιστή ότι η μεταβλητή είναι ένας πίνακας και δεν δημιουργεί πραγματικά έναν πίνακα.

τύπος δεδομένων [] arrayName; (ή)

τύπος δεδομένων [] arrayName; (ή)

datatype arrayName []; -> Κανονικά δεν προτιμούμε να χρησιμοποιήσουμε αυτήν τη μέθοδο αν και είναι έγκυρη.

Παράδειγμα δήλωσης πίνακα

int[] arrNumbers;
String[] arrNames;
float[] arrValues;
boolean[] arrBoolean;
char[] arrLetters;
byte[] arrBytes;
double[] arrWeight;

Πώς να δημιουργήσετε ένα Array στην Java;

String Array στην Ιάβα

Δημιουργούμε έναν πίνακα χρησιμοποιώντας το νέος χειριστής. Σε αυτό, καθορίζουμε το μέγεθος ενός πίνακα στο [] που δηλώνει το μέγεθος της μνήμης που απαιτείται για την αποθήκευση της μεταβλητής του πίνακα.

arrname = νέος τύπος δεδομένων [μέγεθος];

Μπορούμε επίσης να δηλώσουμε και να δημιουργήσουμε ένα παράταξη σε μία δήλωση όπως παρακάτω. Η πρώτη δήλωση δημιουργεί έναν ακέραιο πίνακα που ονομάζεται αριθμοί μεγέθους 5. Το δεύτερο δημιουργεί έναν πίνακα συμβολοσειρών που ονομάζεται ονόματα μεγέθους 2

int[] arrNumbers = new int[5];
String[] arrNames = new String[2];

Πώς να αρχικοποιήσετε έναν πίνακα στην Java;

Πώς να δημιουργήσετε έναν πίνακα;

Αρχικοποίηση σειράς ή instantiation σημαίνει εκχώρηση τιμών σε έναν πίνακα με βάση το μέγεθος του πίνακα. Μπορούμε επίσης να δημιουργήσουμε και να αρχικοποιήσουμε (να δημιουργήσουμε) έναν πίνακα μαζί (Ανατρέξτε στη Μέθοδο 1 παρακάτω). Σε αυτήν την περίπτωση, ο αριθμός των στοιχείων δηλώνει το μήκος ή το μέγεθος ενός πίνακα. Στη Μέθοδο 2, εκχωρούμε τιμές ξεχωριστά t0 κάθε στοιχείο. Δεδομένου ότι ο δείκτης πίνακα ξεκινά με 0 και το μέγεθος πίνακα εδώ είναι 3, το 3ο στοιχείο καταλαμβάνει τη 2η θέση που είναι n-1 όπου n είναι το μέγεθος του πίνακα.

//Method 1
int[] arrNumbers = {1,2,3};

//Method 2
int[] arrNumbers = new int[3];
arrNumbers[0] = 1;
arrNumbers[1] = 2;
arrNumbers[2] = 3;

Πρόσβαση σε στοιχεία Array Στην Java

Έχουμε πρόσβαση σε στοιχεία πίνακα χρησιμοποιώντας την τιμή ευρετηρίου του. Γενικά, χρησιμοποιούμε Για βρόχο ή Για καθένα βρόχο για πρόσβαση στα στοιχεία του πίνακα, επειδή όλα τα στοιχεία είναι του ίδιου τύπου και έχουν σταθερό μέγεθος.

Παράδειγμα: Δημιουργία, αρχικοποίηση και πρόσβαση στοιχείων Array

Εδώ, δημιουργούμε και αρχικοποιούμε έναν πίνακα συμβολοσειρών σε μία δήλωση και έχουμε πρόσβαση σε κάθε στοιχείο χρησιμοποιώντας το loop

public class ArrayDemo1 {

  public static void main(String[] args) {
    String[] arrMonths = {"May","June","July"};
    System.out.println("Length of array is: " + arrMonths.length);
    for(int i=0;i<arrMonths.length;i++)
    {
      System.out.println(arrMonths[i]); 
    }

  }

}
Output:
Length of array is: 3
May
June
July

Παράδειγμα: Μια άλλη μέθοδος αρχικοποίησης πίνακα και πρόσβασης σε στοιχεία πίνακα

Στο παρακάτω παράδειγμα, δηλώνουμε και δημιουργούμε έναν πίνακα από ακέραιους αριθμούς και στη συνέχεια εκχωρούμε τιμές σε μεμονωμένα στοιχεία πίνακα. Εδώ, χρησιμοποιούμε για κάθε βρόχο για πρόσβαση στα στοιχεία του πίνακα.

public class ArrayDemo2 {

  public static void main(String[] args) {
    int[] numbers = new int[5];
    numbers[0] = 100;
    numbers[1] = 101;
    numbers[2] = 103;
    numbers[3] = 104;
    numbers[4] = 105;
    
    for(int i: numbers)
    {
      System.out.println(i);
    }

  }

}
Output:
100
101
103
104
105

τύποι συστοιχιών στην Java

Υπάρχουν 2 τύποι συστοιχιών στην Java:

  • Μονοδιάστατος πίνακας - Περιλαμβάνει μόνο 1 σειρά και 1 στήλη. Όλα τα παραπάνω παραδείγματα ανήκουν σε έναν μονοδιάστατο πίνακα
  • Πολυδιάστατος πίνακας - Περιλαμβάνει πολλές σειρές και πολλές στήλες. Με άλλα λόγια, είναι ένας πίνακας συστοιχιών όπου όλες οι σειρές έχουν τον ίδιο αριθμό στηλών. Π.χ .: 2 * 2 μήτρα
  • Jagged array - Κάθε σειρά περιέχει διαφορετικό αριθμό στηλών

Πολυδιάστατες συστοιχίες σε java

Οι πολυδιάστατοι πίνακες μπορούν να έχουν πολλές σειρές και στήλες. Το ευρετήριο στο πρώτο [] αντιπροσωπεύει σειρές και το δεύτερο [] αντιπροσωπεύει στήλες.

Π.χ .: int [] [] a = νέο int [2] [3]

Αυτό σημαίνει ότι ο πίνακας περιέχει 2 σειρές και 3 στήλες. Ακολουθεί η διαγραμματική αναπαράσταση ενός πολυδιάστατου πίνακα

Πίνακες σε Java

Παράδειγμα δημιουργίας πολυδιάστατων συστοιχιών Strings

Το παρακάτω παράδειγμα δείχνει πώς μπορείτε να δημιουργήσετε, να δηλώσετε και να αποκτήσετε πρόσβαση σε πολυδιάστατα στοιχεία πίνακα. Εδώ, έχουμε άμεση πρόσβαση σε στοιχεία πίνακα χρησιμοποιώντας το ευρετήριο γραμμών και στηλών.

public class ArrayMulti {

  public static void main(String[] args) {
    String[][] arrNames = {{"John","Jacob"},{"Thomas","Martin"}};
    System.out.println(arrNames[0][0] + " " + arrNames[0][1]);
    System.out.println(arrNames[1][0] + " " + arrNames[1][1]);

  }

}
Output:
John Jacob 
Thomas Martin

Παράδειγμα 2D πίνακα ακεραίων

Εδώ, δημιουργούμε μια δισδιάστατη σειρά ακεραίων με 2 σειρές και 2 στήλες. Εκχωρούμε τις τιμές σε αυτά τα στοιχεία πίνακα μέσα για βρόχο. Το 3ο για βρόχο υποδηλώνει σειρές και το 1ο για βρόχο υποδηλώνει στήλες.

public class ArrayMulti {

  public static void main(String[] args) {
    //Declare and create multidimensional array
    int[][] arrnum = new int[2][3];
    for(int i=0;i<2;i++) {
      for(int j=0;j<3;j++) {
        //Assign values to array elements
        arrnum[i][j] = i+1;
        System.out.print(arrnum[i][j] + " ");
      }
      System.out.println();
    }

  }

}
Output:
1 1 1 
2 2 2 

Στερεωμένες συστοιχίες στην Java

Ένας ακανόνιστος πίνακας είναι επίσης ένας δισδιάστατος πίνακας με διαφορετικό αριθμό στηλών. Με άλλα λόγια, κάθε σειρά έχει διαφορετικό αριθμό στηλών. Η προετοιμασία ενός jagged πίνακα είναι διαφορετική από αυτήν ενός κανονικού 2D πίνακα.

Αρχικοποίηση του Jagged Array

Κατά τη δημιουργία πίνακα, καθορίζουμε τον αριθμό των σειρών. Σε αυτό το παράδειγμα, είναι 2. Στις επόμενες 2 δηλώσεις, για κάθε σειρά γραμμών, καθορίζουμε τον αριθμό των στηλών. Εδώ, η 1η σειρά έχει 3 στήλες και η 2η σειρά έχει 4 στήλες.

int[][] arrnum = new int[2][];
arrnum[0] = new int[3];
arrnum[1] = new int[4];

Παράδειγμα μιας οδοντωτής συστοιχίας εκχωρώντας τιμές για το loop

public class JaggedArray {

  public static void main(String[] args) {
    int[][] arrnum = new int[2][];
    arrnum[0] = new int[3];
    arrnum[1] = new int[4];

    int val=1;
    //Assign values
    for(int i=0;i<arrnum.length;i++) {
      for(int j=0;j<arrnum[i].length;j++) {
        arrnum[i][j] = val;
      }
    }
    
    //Print the values
    for(int i=0;i<arrnum.length;i++)
    {
      for(int j=0;j<arrnum[i].length;j++)
      {
        System.out.print(arrnum[i][j] + " ");
      }
      System.out.println();
    }
  }

}
Output:
1 1 1 
1 1 1 1 

Παράδειγμα Jagged array αρχίζοντας τις τιμές κατά τη δημιουργία πίνακα

public class JaggedArray {

  public static void main(String[] args) {
    int[][] arr = {{4,5,6},{1,2},{7,9,8}};
    for(int i=0;i<3;i++)
    {
      for(int j=0;j<arr[i].length;j++) {
        System.out.print(arr[i][j] + " ");
      }
      System.out.println();
    }
  }
}
Output:
4 5 6 
1 2 
7 9 8 

Μέθοδοι Java Array

Ακολουθούν οι άμεσες μέθοδοι που υποστηρίζονται από το Arrays στην Java

ΜέθοδοςΠεριγραφή
άκυρος κλώνος ()Κλωνοποιεί τις υπάρχουσες τιμές πίνακα όπου οι αναφορές δεν αντιγράφονται
Boolean ισούται με (αντικείμενο 0)Ελέγχει εάν κάποιο άλλο αντικείμενο είναι ίσο με το τρέχον αντικείμενο
Κατηγορία getClass ()Επιστρέφει το όνομα της τάξης
String toString ()Επιστρέφει μια παράσταση συμβολοσειράς του αντικειμένου
int μήκος ()Επιστρέφει το μήκος του πίνακα

Εξαιρέσεις Java Array

Πίνακες μέσα Η Java ρίχνει η παρακάτω εξαίρεση:

  • ArrayIndexOutOfBoundsException: Αυτό συμβαίνει όταν η τιμή ευρετηρίου που καθορίζουμε είναι μεγαλύτερη από το μήκος ενός πίνακα ή όταν είναι αρνητική. Αυτό συμβαίνει κυρίως κατά την εκχώρηση τιμής ή την πρόσβαση σε στοιχεία πίνακα.

Αντιγράψτε έναν πίνακα

Μπορούμε να αντιγράψουμε στοιχεία από έναν πίνακα σε έναν άλλο χρησιμοποιώντας τη μέθοδο του πίνακα αντιγραφής της κλάσης Σύστημα.

Αντιγραφή σύνταξης πίνακα

public void arraycopy (Object src, int srcPos, Object dest, int destPos, int length).

src-source array αντικείμενο για αντιγραφή από

srcPos - αρχική θέση στον πίνακα προέλευσης

dest - destination array αντικείμενο προς αντιγραφή στο

destPos - αρχική θέση στον πίνακα προορισμού

μήκος - αριθμός στοιχείων πίνακα για αντιγραφή

Παράδειγμα αντιγραφής πίνακα

Στο παρακάτω παράδειγμα, αντιγράφουμε 4 στοιχεία από τον πίνακα προέλευσης στον πίνακα προορισμού. Εξ ου και η έξοδος εκτυπώνει "java" "

public class ArrayCopy {

  public static void main(String[] args) {
    char[] a = {'d','l','h','y','j','a','v','a','g','r','t'};
    char[] b = new char[4];
    
    System.arraycopy(a, 4, b, 0, 4);
    System.out.println(String.valueOf(b));

  }

}
Output:
java

Περάστε τον πίνακα σε μια μέθοδο

Στην Java, μπορούμε να περάσουμε ένα αντικείμενο πίνακα σε μια μέθοδο για περαιτέρω χειρισμό ή άλλες λειτουργίες. Το παρακάτω παράδειγμα δείχνει πώς μπορούμε να περάσουμε ένα αντικείμενο πίνακα ακέραιων σε μια μέθοδο και να πραγματοποιήσουμε την προσθήκη όλων των στοιχείων πίνακα.

public class ArrayDemo3 {

  public static void main(String[] args) {
    int[] num = {5,7,3,2,8};
    add(num);

  }
  
  public static void add(int[] num) {
    int sum = 0;
    for(int i=0;i<num.length;i++) {
      sum = sum + num[i];
    }
    System.out.println("Sum of array elements is : " + sum);
  }

}
Output:
Sum of array elements is : 25

Επιστροφή πίνακα από μια μέθοδο

Μπορούμε επίσης επιστρέψτε έναν πίνακα αντικείμενο από τη μέθοδο στην κύρια μέθοδο μετά την εκτέλεση της απαιτούμενης λειτουργίας.

public class ArrayDemo4 {

  public static void main(String[] args) {
    String[] arr = getArrayValues();
    for(String cities:arr) {
      System.out.println(cities);
    }
      

  }
  
  public static String[] getArrayValues() {
    String[] arrCities = {"Chennai","Bangalore","Delhi"};
    return arrCities;
  }

}
Output:
Chennai
Bangalore
Delhi

Χειρισμοί συστοιχιών

Πίνακες μέσα Η Java ανήκει στο πακέτο java.util. Υπάρχουν αρκετές λειτουργίες που υποστηρίζονται από την κατηγορία java.util.Array όπως αναφέρεται παρακάτω:

  • Μπορούμε να χρησιμοποιήσουμε τη μέθοδο copyOfRange της κατηγορίας Array για να αντιγράψουμε μια σειρά στοιχείων από τη μια σειρά στην άλλη
  • Αναζήτηση σε πίνακα για συγκεκριμένη τιμή με βάση ένα ευρετήριο (Δυαδική αναζήτηση)
  • Συγκρίνετε με πίνακες για να ελέγξετε την ισότητα χρησιμοποιώντας τη μέθοδο ίσο
  • Χρησιμοποιήστε τη μέθοδο πλήρωσης για να συμπληρώσετε έναν πίνακα για να τοποθετήσετε μια συγκεκριμένη τιμή σε ένα ευρετήριο
  • Ταξινόμηση ενός πίνακα χρησιμοποιώντας τη μέθοδο ταξινόμησης

Δημιουργία πίνακα χρησιμοποιώντας ένα αντικείμενο που ορίζεται από το χρήστη

Στην Java, μπορούμε επίσης να δημιουργήσουμε ένα αντικείμενο που ορίζεται από το χρήστη, όπως ακριβώς το πώς δημιουργούμε μια σειρά από συμβολοσειρές, ακέραιος, κλπ. Αυτό είναι ένα παράδειγμα του πώς μπορούμε να δημιουργήσουμε ένα αντικείμενο πίνακα μαθητών και να αρχίσουμε το αντικείμενο του πίνακα.

public class ArrayDemo5 {

  public static void main(String[] args) {
    Student[] s = new Student[2];
    s[0] = new Student(111,"Ajit");
    s[1] = new Student(112,"Biju");
  }

}
 class Student{
  public int rollno;
  public String name;
  public Student(int rno,String n) {
    rollno = rno;
    name = n;
  }
}

Συμπέρασμα

Αυτό το σεμινάριο παρέχει μια λεπτομερή περιγραφή της κατηγορίας συστοιχιών σε Java, των τύπων συστοιχιών στην Java, δηλώνει, δημιουργεί και αρχικοποιεί συστοιχίες με διάφορες εικόνες.

Αναφορά