introduction java arrays
Denna handledning introducerar begreppet arrays i Java. Vi har också introducerat relaterade ämnen som längd, datatyper, kloning, kopiering, sortering etc. under Java Arrays:
Vid programmering hanterar du alltid data. Data måste lagras på minnesplatser och för att få åtkomst till den då och då och bearbeta därefter måste den ges något namn. Detta görs med variabler.
Således, om du vill lagra värdet 10 i minnet, kommer du att förklara en variabel av typen int och lagra värdet som int num = 10;
Antag nu att ditt programkrav är sådant att du behöver 10 variabler av typen int.
I det här fallet måste du deklarera 10 variabler av typen int enligt följande:
int al;
int a2;
int a3;
int a4;
int a5;
int a6;
int a7;
int a8;
int a9;
int a10;
Ovanstående deklarationer kommer att lägga onödig underhållsbörda på programmeraren. I stället för att deklarera så många variabler, hur är det med att deklarera en enda variabel och sedan har alla dessa 10 värden tilldelade denna variabel? Det här är vad vi ska göra när vi definierar en matris och tilldelar värden till den.
Låt oss börja med matriser i Java.
Vad du kommer att lära dig:
- Java Array
- Slutsats
Java Array
Arrays är inget annat än en datastruktur som används för att hålla dataelementen av samma typ på ett sekventiellt sätt. Från ovanstående exempel kan du ändra definitionen av tio variabler till en enda variabel och lagra alla de tio värdena med hjälp av prenumerationer.
Låt oss göra det på följande sätt:
A (0) = 1;
A (1) = 2;
A (2) = 3;
A (3) = 4;
A (4) = 5;
A (5) = 6;
A (6) = 7;
A (7) = 8;
A (8) = 9;
A (9) = 10;
Vi har lagrat alla tio värdena i indexbaserad variabel. Det första indexet börjar från 0. Så det första värdet är vid 0thindex och det sista värdet är 9thindex. Dessa index kallas också prenumerationer.
I datorminnet representeras ovanstående array A som:
Nu kan vi definiera en matris som en variabel som är en samling av element av samma datatyp och lagras på angränsande minnesplatser. Storleken på en matris specificeras vid tidpunkten för deklarationen och därmed storleken är fast.
Arrayerna som vi ska diskutera i denna handledning är matriser i fast storlek eller statisk. Java stöder också dynamiska matriser som kallas 'ArrayList' vars storlek kan ändras direkt. Vi kommer att diskutera ArrayList i detalj senare.
Några av kännetecknen för Arrays i Java listas nedan:
- I Java är en matris ett objekt som instantieras från en dynamiskt genererad klass.
- Internt implementerar Java array Serialiserbara och Cloneable gränssnitt.
- Java-array har också objektklass som överordnad klass.
- Du kan lagra inbyggda och härledda typvärden i Java-matriser.
- Du kan få längden på en matris med hjälp av längdmedlem och inte storlek som i C / C ++.
- Java tillåter både enkla och flerdimensionella matriser.
I den här handledningen kommer vi att introducera alla matrisbegrepp för läsaren som vi ska
att täcka i denna serie på Java Arrays.
Låt oss börja!!
Java Array - Skapande och initialisering
Arrayer måste skapas för att använda dem i programmet. Att skapa matriser inkluderar att specificera datatypen för element som matrisen kommer att innehålla samt antalet element som matrisen kommer att innehålla.
Vi kommer att diskutera att skapa matriser på olika sätt och även på olika metoder som vi kan initiera matriser med.
Ett exempel på en av metoderna som används för att skapa och initiera matriser ges nedan.
public class Main { public static void main(String() args) { int() myArray; myArray = new int(5); myArray(0) = 1; myArray(1) = 3; System.out.println('myArray(0):' + myArray(0)); System.out.println('myArray(1):' + myArray(1)); System.out.println('myArray(2):' + myArray(2)); System.out.println('myArray(3):' + myArray(3)); System.out.println('myArray(4):' + myArray(4)); } }
Produktion:
I det här programmet har vi förklarat en int-array och sedan startat den med nytt. Sedan har vi initierat element vid index 0 och 1 med värdena 1 respektive 3.
Slutligen skriver vi ut alla element i matrisen. Observera att elementen vi inte initierade har standardvärden som 0 eftersom typen av array är int.
Skriv ut element i Java Array
När matriser används i program måste de visas. För att visa arrayelement använder vi speciella metoder som för loop, forEach loop, toString-metod för Arrays-klass etc. Detta ämne innehåller alla de olika metoder som används för att skriva ut arrayelement.
Nedan följer ett program som använder toString-metoden i 'Arrays' -klassen för att skriva ut arrayelement.
import java.util.*; public class Main { public static void main(String() args) { int() myArray; myArray = new int(5); myArray(0) = 1; myArray(1) = 3; System.out.println('Array Elements : ' + Arrays.toString(myArray)); } }
Produktion:
Arraylängd i Java
Längden på en matris anger antalet element som finns i matrisen. Till skillnad från C / C ++, där vi använder 'sizeof' operatör för att få längden på arrayen, har Java array 'längd' egenskap. Vi kommer att utforska mer om den här egenskapen senare.
Nedan följer programmet som visar längden på en matris.
import java.util.*; public class Main { public static void main(String() args) { int() myArray = {1,3,5,7,9,11}; System.out.println('Size of the given array : ' + myArray.length); } }
Produktion:
I det här programmet har vi initierat matrisen med hjälp av array-bokstav och sedan med hjälp av längdegenskapen visar vi storleken / längden på arrayen.
Java Array-datatyper
Du kan ha matriser av alla datatyper. I det här ämnet kommer vi att utforska matriser med olika datatyper och deras definitioner.
I programmet nedan har vi definierat int- och strängtypsarrayer och visat deras respektive innehåll .
c ++ konvertera char array till int
import java.util.*; public class Main { public static void main(String() args) { int() myArray = {1,3,5,7,9,11}; String() strArray = {'one','two','three','four','five'}; System.out.println('Elements of int array : ' + Arrays.toString(myArray)); System.out.println('Elements of String array : ' + Arrays.toString(strArray)); } }
Produktion:
Lägga till ett element i en matris
Tillägget av ett element till matrisen är en viktig operation. Matriserna i Java är statiska och med fast längd. Därför måste du tillhandahålla en specifik uppsättning operationer för att lägga till ett nytt element i matrisen. De olika metoderna för att lägga till ett element i matrisen kommer att diskuteras här.
En av metoderna för att lägga till ett element i matrisen är att använda ArrayList som mellanstruktur. Vi konverterar arrayen till ArrayList. Sedan lägger vi till elementet i ArrayList och ändrar ArrayList tillbaka till array.
Programmet nedan visar denna implementering.
import java.util.*; class Main { public static void main(String() args) { int n = 10; int i; Integer intArray() = { 1, 2, 3, 4, 5 }; System.out.println('Original Array:
' + Arrays.toString(intArray)); int num = 10; Listintlist = new ArrayList(Arrays.asList(intArray)); intlist.add(num); intArray = intlist.toArray(intArray); System.out.println('
Array after adding ' + num + '
' + Arrays.toString(intArray)); } }
Produktion:
sql server 2012 intervjufrågor och svar för erfarna
Ta bort / ta bort ett element från en matris
Att ta bort ett element från en matris är också en annan viktig operation. Java tillåter oss inte direkt att ta bort ett element. Så vi använder andra alternativ för att göra detta.
Nedan följer implementeringen av en av metoderna för att ta bort elementet från en matris med hjälp av en ArrayList .
import java.util.*; importjava.util.stream.*; class Main { public static void main(String() args) { int() tensArray = { 10,20,30,40,50}; System.out.println('Input Array: '+ Arrays.toString(tensArray)); int index = 1; System.out.println('Index to be removed: ' + index); if (tensArray == null || index = tensArray.length) { System.out.println('No element to delete'); } ListtensList = IntStream.of(tensArray).boxed().collect(Collectors.toList()); tensList.remove(index); tensArray = tensList.stream().mapToInt(Integer::intValue).toArray(); System.out.println('Array after deleting element at '+ index + ':
'+ Arrays.toString(tensArray)); } }
Produktion:
Här konverterar vi först arrayen till ArrayList och tar sedan bort elementet med hjälp av ArrayList-metoden remove. Därefter konverterar vi ArrayList tillbaka till arrayen och matar ut den ändrade arrayen.
Kopiera en matris i Java
Vi kommer att diskutera några av operationerna för att kopiera arrayelement från en array till en annan. Vi kommer också att diskutera grund och djup kopiering av matriser.
En sådan metod är copyOf () -metoden i Arrays-klassen för java.util-paketet .
import java.util.*; public class Main { public static void main(String() args) { int() intArray = {10,15,20,25,30,35,40}; int array_len = intArray.length; System.out.println('Original Array:' + Arrays.toString(intArray)); int() copy_intArray = Arrays.copyOf(intArray, array_len); System.out.println('Copied Array:' + Arrays.toString(copy_intArray)); } }
Produktion:
Metoden 'copyOf' i Arrays-klassen kopierar den matris som anges som ett argument tillsammans med dess längd till en annan matris.
Kloning av en matris i Java
Du kan också skapa en klon av en matris i Java. Java tillhandahåller en metod för detta i ArrayUtils-paketet. Vi kommer att utforska mer om kloning här.
Låt oss implementera ett enkelt exempel som klonar en matris i Java.
import java.util.*; class Main { public static void main(String args()) { int num_Array() = {5,10,15,20,25,30}; int clone_Array() = num_Array.clone(); System.out.println('Original num_Array:' + Arrays.toString(num_Array)); System.out.println('Cloned num_Array:'+ Arrays.toString(clone_Array)); } }
Produktion:
Kloning är alltså bara kopiering med en annan metod.
Sortera arrayer i Java
Att sortera matriselement eller ordna dem i stigande eller fallande ordning är en av de viktigaste operationerna. De flesta applikationer behöver sortera deras data. Java tillhandahåller en filtersortering för matriser. Vi kommer att diskutera detta i detalj under sortering.
Följande är ett enkelt exempel på s orting en array i Jave med metoden Arrays.sort () .
import java.util.Arrays; public class Main { public static void main(String() args) { int() num_Array = {115,32,56,78,94,108,100,63}; System.out.println('Original Array: ' + Arrays.toString(num_Array)); Arrays.sort(num_Array); System.out.println('Sorted Array: ' + Arrays.toString(num_Array)); } }
Produktion:
Som visas ovan sorterar sorteringsmetoden för arrays-klassen arrayelementen i stigande ordning.
Omvänd en matris i Java
Omvänd sekvens av element tillhandahålls inte heller av matriser. Precis som att ta bort måste vi göra en vändning och uppnå resultaten. I det här ämnet kommer vi att se metoderna för att vända en matris.
Följande program visar implementering av Reversing an array .
import java.util.*; public class Main { public static void main(String() args) { Integer () even_Arrayr = {2,4,6,8,10}; System.out.println('Original Array:' + Arrays.asList(even_Arrayr)); Collections.reverse(Arrays.asList(even_Arrayr)); System.out.println('Reversed Array:' + Arrays.asList(even_Arrayr)); } }
Produktion:
ArrayIndexOutOfBounds Undantag
När du försöker komma åt arrayelement utöver den angivna längden eller ett negativt index, kastar kompilatorn 'ArrayIndexOutOfBounds' undantag. Vi kommer att utforska mer om detta undantag i vårt relaterade ämne.
import java.util.ArrayList; public class Main { public static void main(String() args) { ArrayListmyList = new ArrayList(); myList.add('one'); myList.add('two'); System.out.println(myList.get(2)); } }
Produktion :
I ovanstående program har vi en ArrayList med två poster och vi försöker få posten i index 2 som inte finns. Därför ger programmet IndexOutofBounds Undantag.
Java String Array & olika metoder
Bland alla datatyper som stöds av Java är String den viktigaste. Därför förtjänar strängtypsarrangemang också en speciell diskussion. Eftersom informationen i en strängmatris mestadels är text finns det olika metoder för att manipulera texten.
import java.util.ArrayList; public class Main { public static void main(String() args) { String() rgb = {'Red', 'Green', 'Blue'}; System.out.println('The string array elements:'); for (String item: rgb) { System.out.print(item + ' '); } } }
Produktion:
Detta är ett grundläggande program för strängmatrix. Vi har just deklarerat en strängmatris och visat dess innehåll med hjälp av forEach-slingan.
Flerdimensionella matriser i Java
Hittills har vi bara sett endimensionella matriser. Java stöder också flerdimensionella matriser med element som oftast är ordnade i rader och kolumner. Arrays i Java blir mer komplexa eftersom varje element i arrayen kan innehålla en annan array.
Vi kommer att utforska flerdimensionella matriser i Java tillsammans med deras specifika operationer här.
Låt oss implementera ett exempel på en tvådimensionell matris.
class Main { public static void main(String args()) { // declaring and initializing 2D array int array_2d()() = { {1,2,3},{4,5,6},{7,8,9} }; System.out.println('The two-dimensional array is as follows:'); for (int i=0; i<3 ; i++) { for (int j=0; j < 3 ; j++) System.out.print(array_2d(i)(j) + ' '); System.out.println(); } }
Produktion:
Java Array Of Objects
Förutom att lagra primitiva typer kan java-matriser också lagra objekt. I det här ämnet kommer vi att undersöka några exempel på en rad objekt.
Ett exempel ges nedan.
class Main{ public static void main(String args()){ Test testobj() = new Test(2) ; testobj(0) = new Test(); testobj(1) = new Test(); testobj(0).setData(1,3); testobj(1).setData(2,4); System.out.println('For Array Element 0 (testobj(0)):'); testobj(0).displayData(); System.out.println('For Array Element 1 (testobj(1)):'); testobj(1).displayData(); } } class Test{ int val1; int val2; public void setData(int c,int d){ val1=c; val2=d; } public void displayData(){ System.out.print('val1 ='+val1 + '; val2 ='+val2 + '
'); } }
Produktion:
Vi kan ha matriser som innehåller element som objekt. I programmet ovan har vi en rad objekt i klasstestet. Vi ringer individuellt medlemsfunktioner för varje objekt för att ställa in och visa värdena.
Return An Array In Java
På samma sätt, där vi returnerar en variabel från vilken metod som helst, kan vi också returnera en matris. På samma sätt kan vi skicka en matris till en metod. Båda dessa möjligheter kommer att diskuteras med exempel här.
Vanligtvis skickas en hänvisning till matrisen till / från en metod.
Följande program visar återkomsten av en matris i Java .
class Main { static int() add_sub(int val1, int val2) { int() result = new int(2); result(0) = val1 + val2; result(1) = val1 - val2; return result; } public static void main(String() args) { int() result = add_sub(10, 5); System.out.println('val1 + val2 = ' + result(0)); System.out.println('val1 - val2 = ' + result(1)); } }
Produktion:
I ovanstående program utför vi två operationer, dvs addition och subtraktion av två nummer. Resultatet av varje operation lagras som ett element i matrisen. Sedan returneras hela matrisreferensen till anropsfunktionen.
Java Array-klass
Java-arrayklassen är en klass från java.util-paketet som ger funktionalitet för att manipulera matriser. Det ger många funktioner som att kopiera en matris, sortera, konvertera en matris till sträng, etc.
Java Generic Array
Vi har redan sett generika i Java som är typoberoende enheter. Java-matriser kan vara generiska där de kan definieras som oberoende av typer. Men den generiska koden är inte tillgänglig när byte-koden genereras och det är därför svårt att härleda typen av element, arrayen kommer att hållas vid körning.
Istället för arrays byter vi alltså till listor från Java-samlingsramen när generics krävs.
Vi kan dock också ha en generisk-liknande arraystruktur genom att använda en eller flera metoder. Här kommer vi att utforska dessa metoder.
Ett exempel på en av metoderna som använder objektmatriser ges nedan.
import java.util.Arrays; class Main { public static void main(String() args) { final int length = 5; //integer array object from Generic_Array class Generic_ArrayintArray = new Generic_Array(length); for (int i = 0; i Produktion:

Så i ovanstående program har vi skrivit en generisk matrisklass med objektmatris som ett element och get / set-metoder för att få / set array-objekt. Vi har också åsidosatt toString-metoden i Arrays-klassen. I huvudklassen skapar vi två objekt av en generisk matrisklass av typen Integer och String och tilldelar dem lämpliga värden.
Jagged Arrays I Java
Jagged arrays är flerdimensionella arrays med varje medlemsuppsättning av olika storlekar. En Jagged array är också ett exempel på en array av arrays.
Följande program visar ett exempel på Jagged array.
class Main { public static void main(String() args) { int jagged_array()() = new int(2)(); jagged_array(0) = new int(4); jagged_array(1) = new int(2); for (int i=0; i Produktion:

Vi har en 2D-array i ovanstående program. Den första gruppdimensionen är 4 medan den andra är 2. Utgången visar innehållet i båda dimensionerna för den Jagged arrayen.
Arrays i Java 8
Eftersom Java 8 var en viktig version av Java, kommer vi att gå igenom ändringarna som det ledde till arrayer. Till exempel, strömmar på arrays introducerades i Java 8.
Importera array i Java
hur man öppnar en eps-fil
Vi kan inkludera ytterligare funktioner för matriser i Java genom att importera klassen 'Arrays' i paketet 'java.util'.
Vi kan också importera arrayutils-paketet för att få fler funktioner. Du måste ha fått mer kunskap om importfunktionaliteten från våra tidigare exempel.
Java Array API och dokumentation
Java array API är en samling av alla funktioner som fungerar på Java-arrays. Vi kommer att gå igenom detta applikationsprogrammeringsgränssnitt (API) här.
Vi har äntligen listat alla egenskaper och metoder tillsammans med deras beskrivning för Java-arrays. Detta hjälper läsarna med en snabb referens.
Vanliga frågor
F # 1) Är arrays primitiva datatyper i Java?
Svar: Nej. Arrayer är inte primitiva datatyper men arrays är containerobjekt som innehåller element av samma datatyp i angränsande platser.
F # 2) Finns arrays referenstyper i Java?
Svar: Ja. Matrisen är en behållare med objekt och behandlas som referenser.
F # 3) Kan du öka storleken på en matris i Java?
Svar: Nej. Du förklarar matriser och instanserar den med storlek. När du har angett kan du inte ändra storleken på matrisen.
Slutsats
I denna handledning introducerade vi dig till begreppet arrays i Java. Vi diskuterade huvudämnena för Java-arrays.
I våra efterföljande handledning kommer vi att utforska dessa Array-relaterade ämnen i Java i detalj.
Happy Learning !!
Rekommenderad läsning
- Java datatyper, loopar, arrays, switch och påståenden
- Java-undantag och undantagshantering med exempel
- Java Generics-handledning med exempel
- Java-gränssnitt och abstrakt klasshandledning med exempel
- Introduktion till Java-programmeringsspråk - Videohandledning
- Java String med String Buffer och String Builder Tutorial
- JAVA-handledning för nybörjare: 100+ praktiska Java-videohandledning
- MultiDimensional Arrays and Jagged Arrays In C #