ArrayList in Java

⚡ Smart sammanfattning

ArrayList in Java är en dynamisk, storleksändrbar datastruktur som växer och krymper automatiskt när element läggs till eller tas bort, till skillnad från arrayer med fast längd. Den tillhandahåller inbyggda metoder som add, remove, size och contains för flexibel elementhantering.

  • 📦 ArrayList Definierad: En dynamisk datastruktur med variabel längd som ändrar storlek automatiskt när element ändras.
  • ???? vs Array: Till skillnad från en array med fast längd kan en ArrayList växa och krympa vid körning.
  • ➕ lägg till() och ta bort(): Lägg till element i slutet av ett givet index, och ta bort per objekt eller index.
  • 📏 storlek() & innehåller(): size() returnerar antalet element; contains() returnerar sant om ett element existerar.
  • 🔢 Nollbaserat index: Precis som arrayer börjar ArrayList-element vid index 0.

ArrayList in Java

Vad finns ArrayList i Java?

ArrayList in Java är en datastruktur som kan sträckas ut för att rymma ytterligare element i sig själv och krympa tillbaka till en mindre storlek när element tas bort. Det är en mycket viktig datastruktur användbar för att hantera elements dynamiska beteende.

Undrar hur ArrayList Java kan vara användbart, se konversationen nedan -

Arraylist in Java

För Java ArrayList Exempel, se följande bild på en man som sträcker ett elastiskt gummiband. Den faktiska längden på gummibandet är mycket mindre, men när det sträcks ut kan det sträcka sig mycket mer än dess faktiska längd och kan användas för att hålla/binda mycket större föremål med det. Tänk nu på nästa bild, den av ett enkelt rep, det kan inte sträckas och kommer att ha en fast längd.

Arraylist in Java

Det kan växa allt eftersom, och när det krävs för att rymma de element som det behöver lagra och när element tas bort, kan det krympa tillbaka till en mindre storlek. Så eftersom vår vän har ett problem med arrayen han använder inte kan utökas eller krympas, kommer vi att använda ArrayList. arrayer är som repet som visas på bilden ovan; de kommer att ha en fast längd, kan inte utökas eller minskas från den ursprungliga längden. Så vårt töjbara gummiband är ungefär som Array List medan repet kan betraktas som arrayen. Tekniskt sett, ArrayList Java är som en dynamisk array eller en variabel längd array.

Låt oss se och förstå följande kodavsnitt av Java ArrayList-syntax som hjälper dig att komma runt med ArrayList.

ArrayList<Object> a = new ArrayList<Object>();

ArrayList-metoder i Java

  • ArrayList add: Detta används för att lägga till element till Array List. Om en ArrayList redan innehåller element, läggs det nya elementet till efter det sista elementet om inte indexet anges.
    Syntax:
    add(Object o);
  • Ta bort ArrayList: Det angivna elementet tas bort från listan och storleken minskas därefter. Alternativt kan du också ange indexet för det element som ska tas bort.
    Syntax:
    remove(Object o);
  • Java arraystorlek: Detta ger dig antalet element i Array List. Precis som arrayer börjar även här det första elementet med index 0.
    Syntax:
    int size();
  • ArrayList innehåller: Denna metod returnerar true om listan innehåller det angivna elementet.
    Syntax:
    boolean contains(Object o);

Java Exempel på ArrayList

Följande är en Java Exempel på ArrayList:

import java.util.ArrayList;
class Test_ArrayList {
 public static void main(String[] args) {
  //Creating a generic ArrayList
  ArrayList<String> arlTest = new ArrayList<String>();
  //Size of arrayList
  System.out.println("Size of ArrayList at creation: " + arlTest.size());
  //Lets add some elements to it
  arlTest.add("D");
  arlTest.add("U");
  arlTest.add("K");
  arlTest.add("E");

  //Recheck the size after adding elements
  System.out.println("Size of ArrayList after adding elements: " + arlTest.size());

  //Display all contents of ArrayList
  System.out.println("List of all elements: " + arlTest);

  //Remove some elements from the list
  arlTest.remove("D");
  System.out.println("See contents after removing one element: " + arlTest);

  //Remove element by index
  arlTest.remove(2);
  System.out.println("See contents after removing element by index: " + arlTest);

  //Check size after removing elements
  System.out.println("Size of arrayList after removing elements: " + arlTest.size());
  System.out.println("List of all elements after removing elements: " + arlTest);

  //Check if the list contains "K"
  System.out.println(arlTest.contains("K"));

 }
}

Produktion:

Size of ArrayList at creation: 0
Size of ArrayList after adding elements: 4
List of all elements: [D, U, K, E]
See contents after removing one element: [U, K, E]
See contents after removing element by index: [U, K]
Size of arrayList after removing elements: 2
List of all elements after removing elements: [U, K]
true

Obs: För enkelhetens skull är elementen som visas i ovanstående kod element med enstaka tecken. Vi kan lägga till strängar, heltal osv.

användning Java Arraylist

Vanliga frågor

En array har en fast längd vid skapandet, medan en ArrayList är dynamisk och ändrar storlek automatiskt. Arrayer kan innehålla primitiver och objekt; ArrayList innehåller endast objekt och erbjuder inbyggda metoder.

ArrayList använder en dynamisk array, vilket ger snabb slumpmässig åtkomst men långsammare inserts och borttagningar i mitten. LinkedList använder noder, vilket ger snabbare inserts och borttagningar men långsammare indexbaserad åtkomst.

Nej. ArrayList är inte synkroniserad och är inte trådsäker. För samtidig åtkomst, använd Collections.synchronizedList() eller CopyOnWriteArrayList för att undvika datainkonsekvens i flertrådade program.

AI-assistenter kan generera ArrayList-kod, föreslå rätt metoder, förklara generiska kodalternativ och upptäcka problem som IndexOutOfBoundsException. De hjälper nybörjare att manipulera listor korrekt och effektivt.

Ja. AI kan rekommendera om ArrayList, LinkedList, HashSet eller HashMap ska användas baserat på åtkomstmönster, ordning och prestandabehov som beskrivs för ditt program.

Sammanfatta detta inlägg med: