Java >> Java tutorial >  >> Java

Sådan initialiseres et array i Java

Et array er en gruppe af lignende indtastede variabler, der henvises til af en fælles. Med andre ord kan vi definere det som en sammenhængende hukommelsesplacering, der gemmer data af samme type. Arrays tilbyder en bekvem måde at gruppere dataelementer på.

Formålet med at bruge arrays er, at de kommer med nogle af fordelene, som omfatter:I et array er hukommelsen allokeret dynamisk, og dette resulterer i besparelse af hukommelse. Denne hukommelse kan også tildeles under kørsel. Et array er cache-venligt og derfor let tilgængeligt.

I denne tutorial skal vi diskutere de forskellige metoder, vi bruger til at initialisere et array. Før det, lad os få en kort forståelse af syntaksen for et array og dets typer, så når vi initialiserer arrayet. Dette vil gøre det nemt for os at finde ud af, hvilken type array vi initialiserer.

Typer af array

Der er to typer array:

  • Endimensional matrix – Angivelse af positionen med en enkelt indeksværdi, der gør det muligt at få adgang til elementer individuelt. Dens størrelse er fast.
  • Todimensionelt array – Dette er et 2D-array organiseret som en matrix. Det er repræsenteret som en samling af rækker og kolonner.

Deklaration af et array

Et-dimensionelt array

Return_type [] array_name;
        or
Return_type array_name[];

Eksempel:

Int score [];   or  int [] score  or String []name;

Todimensionel

Return_type [][] array_name;
        or
Return_type array_name[][];

Eksempel:

String student [] [];   or double results [] []; or String [] [] name;

Fra ovenstående eksempler angiver 'return_type' typen af ​​dataelementer i arrayet. Dette kan omfatte; String, double, int osv. 'array_name' specificerer det navn, der er givet til arrayet. For eksempel er 'student' navnet på vores array.

Initialisering af et array betyder at give det en værdi, så det kan gemme data. For eksempel vil initialisering af et array af elever involvere tilføjelse af elever til arrayet.

Syntaks
return_type array_name[] = new array_name[size]

Der er forskellige måder at initialisere et array på. Lad os nu hoppe ind og diskutere disse adskillige måder

Initialisering af et array efter erklæringen

Vi kan erklære vores array globalt og initialisere det, når det er nødvendigt. Dette tilfælde bruges bedst, når du endnu ikke har bestemt, hvilke værdier du skal gemme i arrayet. I dette tilfælde vil du først erklære dit array, derefter senere i koden. Du kan initialisere arrayet. Vi vil bruge søgeordet 'ny' under initialisering.

class Student {
    public static void main( String args[] ) {
        String student [];
      //initializing the array
        student = new String[]{ "Moses", "Jeff", "Mary", "Noah", "Skoda" };
        //Printing the elements of array
        for (int p =0;p < 5;p++)
        {
            System.out.println(student[i]);
        }
    }
}

Initialisering på tidspunktet for erklæringen

Vi kan også initialisere arrayet ved deklarationspunktet. I dette tilfælde angiver vi ikke størrelsen af ​​arrayet, da vi kender de værdier, vi vil gemme i arrayet.

Eksempel:Antag, at vi skal erklære et array for at gemme 5 kendte navne på elever. Vi kan gøre dette på tidspunktet for deklarationen, da navnene er kendte.

class Student {
    public static void main( String args[] ) {
        
      String student[] = { "Moses", "Jeff", "Mary", "Noah", "Skoda" };
       
    }
}

Initialisering af et element ad gangen ved hjælp af for loop

Da et array kan indeholde mere end ét element, kan vi beslutte at initialisere alle elementerne på én gang eller et element ad gangen. Nedenfor er et eksempel på initialisering af et element ad gangen ved at bruge a for en loop.

//one-dimensional array
for (int p = 0; p < array.length; p++) {
    array[p] = p + 2;
}
//two-dimensional array

for (int p = 0; p < 2; p++) {
    for (int k = 0; k < 5; k++) {
        array[p][k] = k + 1;
    }
}

Brug af Array.fill()

Dette er en java-klasse i 'java.Utils.Arrays'. Denne metode tildeler en specificeret værdi til hvert element i arrayet. I eksemplet nedenfor er alle matrixværdierne tildelt en værdi på 2.

int num[] = new int[5];
Arrays.fill(num, 2);
System.out.println(Arrays.toString(num)); 

Brug af Arrays.copyOf()

Dette er også en anden interessant metode til at initialisere et array. Denne metode kopierer et andet array og opretter et nyt array fra kopien. Nogle få punkter at bemærke om denne metode, til tider kan den give en 'NullPointerException', når kildearrayet ikke er initialiseret. Til sidst kan den kaste en 'NegativeArraySizeException' fejl når kildematrixlængden er negativ.

int array[] = { 1, 2, 3, 4, 5 };
int[] copy = Arrays.copyOf(array, 5);

Brug af Array.setAll()

Denne metode blev introduceret på Java 8. Den indstiller alle elementer i det angivne array ved hjælp af en generatorfunktion. Hvis generatorfunktionen er null, så en 'NullPointerException ' fejl er kastet. Lad os f.eks. bruge denne metode til at indstille alle elementer til deres respektive indeks på en matrix med størrelse 5.

int[] array = new int[5];
Arrays.setAll(array, p -> p);
System.out.println(Arrays.toString(array));
// [0, 1, 2, 3, 4,]

Konklusion

Arrays gemmer data af samme type, for eksempel et array til at gemme en liste over navne på elever, der studerer en lignende enhed. Før du arbejder på disse arrays, skal du erklære arrayet og derefter initialisere det. Initialisering er blot at tilføje data til arrayet. I denne tutorial har vi dækket disse forskellige metoder til array-initialisering. For at få mere om array, tjek ArrayList i Java med eksempler her.


Java tag