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 ArrayList-klasse

Java ArrayList-klasse

In deze zelfstudie leren we over de klasse ArrayList in Java. We zullen aan de hand van voorbeelden leren over verschillende operaties en methoden van de arraylist.

De ArrayList klasse van het Java-verzamelingsframework biedt de functionaliteit van resizable-arrays .

Het implementeert de List interface.


Java ArrayList versus array

In Java moeten we de grootte van een array declareren voordat we deze kunnen gebruiken. Als de grootte van een array eenmaal is gedeclareerd, is het moeilijk om deze te wijzigen.

Om dit probleem op te lossen, kunnen we de ArrayList . gebruiken klas. Het stelt ons in staat om aanpasbare arrays te maken.

In tegenstelling tot arrays kunnen arraylists automatisch de capaciteit aanpassen wanneer we er elementen aan toevoegen of verwijderen. Daarom zijn arraylijsten ook bekend als dynamische arrays .


Een arraylijst maken

Voordat u ArrayList gebruikt , moeten we de java.util.ArrayList . importeren pakket eerst. Hier is hoe we arraylijsten in Java kunnen maken:

ArrayList<Type> arrayList= new ArrayList<>();

Hier, Type geeft het type van een arraylist aan. Bijvoorbeeld,

// create Integer type arraylist
ArrayList<Integer> arrayList = new ArrayList<>();

// create String type arraylist
ArrayList<String> arrayList = new ArrayList<>();

In het bovenstaande programma hebben we Integer . gebruikt niet int. Het is omdat we geen primitieve typen kunnen gebruiken tijdens het maken van een arraylist. In plaats daarvan moeten we de corresponderende wrapper-klassen gebruiken.

Hier, Integer is de corresponderende wrapper-klasse van int . Ga voor meer informatie naar de Java-wrapperklasse.


Voorbeeld:ArrayList maken in Java

import java.util.ArrayList;

class Main {
  public static void main(String[] args){

    // create ArrayList
    ArrayList<String> languages = new ArrayList<>();

    // Add elements to ArrayList
    languages.add("Java");
    languages.add("Python");
    languages.add("Swift");
    System.out.println("ArrayList: " + languages);
  }
}

Uitvoer

ArrayList: [Java, Python, Swift]

In het bovenstaande voorbeeld hebben we een ArrayList . gemaakt genaamd talen .

Hier hebben we de add() . gebruikt methode om elementen aan de arraylist toe te voegen. We zullen meer te weten komen over de add() methode verderop in deze tutorial.


Basisbewerkingen op ArrayList

De ArrayList class biedt verschillende methoden om verschillende bewerkingen op arraylists uit te voeren. We zullen in deze tutorial kijken naar enkele veelgebruikte arraylist-bewerkingen:

  • Elementen toevoegen
  • Toegangselementen
  • Verander elementen
  • Elementen verwijderen

1. Elementen toevoegen aan een ArrayList

Om een ​​enkel element aan de arraylijst toe te voegen, gebruiken we de add() methode van de ArrayList klas. Bijvoorbeeld,

import java.util.ArrayList;

class Main {
  public static void main(String[] args){
    // create ArrayList
    ArrayList<String> languages = new ArrayList<>();

    // add() method without the index parameter
    languages.add("Java");
    languages.add("C");
    languages.add("Python");
    System.out.println("ArrayList: " + languages);
  }
}

Uitvoer

ArrayList: [Java, C, Python]

In het bovenstaande voorbeeld hebben we een ArrayList . gemaakt genaamd talen . Hier hebben we de add() . gebruikt methode om elementen toe te voegen aan talen .

Bezoek de Java ArrayList add() voor meer informatie.

Andere manier om elementen aan arraylist toe te voegen

Hoe voeg je een element toe op een gespecificeerde positie in een ArrayList?

We kunnen ook een indexnummer doorgeven als een extra parameter voor de add() methode om een ​​element op de opgegeven positie toe te voegen. Bijvoorbeeld,

// add JavaScript at index 1
languages.add(1, "JavaScript");

// add C++ at index 3
languages.add(3, "C++");
Hoe voeg je alle elementen van een set toe aan een arraylist?

We kunnen ook alle elementen van een verzameling (set, map) toevoegen aan een arraylist met behulp van de addAll() methode. Bijvoorbeeld,

import java.util.ArrayList;
import java.util.HashSet;

class Main {
  public static void main(String[] args) {

    // create a set
    HashSet<String> vowels = new HashSet<>();
    vowels.add("a");
    vowels.add("e");
    vowels.add("i");

    // create an arraylist
    ArrayList<String> alphabets = new ArrayList<>();

    // add all elements of set to arraylist
    alphabets.addAll(vowels);
    System.out.println("ArrayList: " + alphabets);
  }
}

// Output: ArrayList: [a, e, i]

Ga voor meer informatie naar Java ArrayList addAll().


2. Toegang tot ArrayList-elementen

Om toegang te krijgen tot een element uit de arraylist, gebruiken we de get() methode van de ArrayList klas. Bijvoorbeeld,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> animals = new ArrayList<>();

    // add elements in the arraylist
    animals.add("Cat");
    animals.add("Dog");
    animals.add("Cow");
    System.out.println("ArrayList: " + animals);

    // get the element from the arraylist
    String str = animals.get(1);
    System.out.print("Element at index 1: " + str);
  }
}

Uitvoer

ArrayList: [Cat, Dog, Cow]
Element at index 1: Dog

In het bovenstaande voorbeeld hebben we de get() . gebruikt methode met parameter 1 . Hier retourneert de methode het element op index 1 .

Ga voor meer informatie naar de Java ArrayList get().

We hebben ook toegang tot elementen van de ArrayList met behulp van de iterator() methode. Ga voor meer informatie naar Java ArrayList iterator().


3. ArrayList-elementen wijzigen

Om elementen van de arraylist te wijzigen, gebruiken we de set() methode van de ArrayList klas. Bijvoorbeeld,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> languages = new ArrayList<>();

    // add elements in the array list
    languages.add("Java");
    languages.add("Kotlin");
    languages.add("C++");
    System.out.println("ArrayList: " + languages);

    // change the element of the array list
    languages.set(2, "JavaScript");
    System.out.println("Modified ArrayList: " + languages);
  }
}

Uitvoer

ArrayList: [Java, Kotlin, C++]
Modified ArrayList: [Java, Kotlin, JavaScript]

In het bovenstaande voorbeeld hebben we een ArrayList . gemaakt genaamd talen . Let op de lijn,

language.set(2, "JavaScript");

Hier, de set() methode verandert het element op index 2 naar JavaScript .

Ga voor meer informatie naar de Java ArrayList set().


4. ArrayList-elementen verwijderen

Om een ​​element uit de arraylist te verwijderen, kunnen we de remove() . gebruiken methode van de ArrayList klas. Bijvoorbeeld,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> animals = new ArrayList<>();

    // add elements in the array list
    animals.add("Dog");
    animals.add("Cat");
    animals.add("Horse");
    System.out.println("ArrayList: " + animals);

    // remove element from index 2
    String str = animals.remove(2);
    System.out.println("Updated ArrayList: " + animals);
    System.out.println("Removed Element: " + str);
  }
}

Uitvoer

ArrayList: [Dog, Cat, Horse]
Updated ArrayList: [Dog, Cat]
Removed Element: Horse

Hier, de remove() methode neemt het indexnummer als de parameter. En verwijdert het element gespecificeerd door het indexnummer .

Ga voor meer informatie naar de Java ArrayList remove().

We kunnen ook alle elementen in één keer uit de arraylist verwijderen. Ga voor meer informatie naar

  • Java ArrayList removeAll()
  • Java ArrayList clear()

Methoden van ArrayList Class

In het vorige gedeelte hebben we geleerd over de add() , get() , set() , en remove() methode van de ArrayList klasse.

Naast deze basismethoden zijn hier nog enkele ArrayList veelgebruikte methoden.

Methoden Beschrijvingen
maat() Retourneert de lengte van de arraylist.
sort() Sorteer de arraylist-elementen.
kloon() Maakt een nieuwe arraylist met hetzelfde element, dezelfde grootte en capaciteit.
bevat() Zoekt in de arraylist naar het opgegeven element en geeft een booleaans resultaat.
ensureCapacity() Specificeert het totale element dat de arraylist kan bevatten.
isEmpty() Controleert of de arraylist leeg is.
indexOf() Zoekt een gespecificeerd element in een arraylist en retourneert de index van het element.

Als je meer wilt weten over alle verschillende methoden van arraylist, bezoek dan Java ArrayList-methoden.


Herhaal door een ArrayList

We kunnen de Java for-each-lus gebruiken om door elk element van de arraylist te lopen. Bijvoorbeeld,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {

    // creating an array list
    ArrayList<String> animals = new ArrayList<>();
    animals.add("Cow");
    animals.add("Cat");
    animals.add("Dog");
    System.out.println("ArrayList: " + animals);

    // iterate using for-each loop
    System.out.println("Accessing individual elements:  ");

    for (String language : animals) {
      System.out.print(language);
      System.out.print(", ");
    }
  }
}

Uitvoer

ArrayList: [Cow, Cat, Dog]
Accessing individual elements:  
Cow, Cat, Dog,

Veelgestelde vragen

Wat is het verschil tussen Java ArrayList en LinkedList?

Enkele van de belangrijkste verschillen tussen ArrayList en LinkedList in Java zijn:

ArrayList LinkedList
Implementeert List interface Implementeert List , Queue , en Deque interfaces.
Slaat een enkele waarde op. Slaat 3 waarden op:data, vorige en volgende adres
Biedt de functionaliteit van een aanpasbare array. Biedt de functionaliteit van een dubbel gelinkte lijst
Hoe een ArrayList naar Array te converteren?

We kunnen de ArrayList . converteren in een array met behulp van de toArray() methode. Bijvoorbeeld,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> languages = new ArrayList<>();

    // add elements in the array list
    languages.add("Java");
    languages.add("Python");
    languages.add("C++");
    System.out.println("ArrayList: " + languages);

    // create a new array of String type
    String[] arr = new String[languages.size()];

    // convert ArrayList into an array
    languages.toArray(arr);
    System.out.print("Array: ");

    // access elements of the array
    for (String item : arr) {
      System.out.print(item + ", ");
    }
  }
}

Uitvoer

ArrayList: [Java, Python, C++]
Array: Java, Python, C++, 

In het bovenstaande voorbeeld is de toArray() methode converteert de talen arraylist naar een array en slaat deze op in arr . Ga voor meer informatie naar Java ArrayList toArray().

Hoe een array naar ArrayList te converteren?

We gebruiken de asList() methode van de Arrays klas. asList() gebruiken , moeten we de java.util.Arrays . importeren pakket eerst. Bijvoorbeeld,

import java.util.ArrayList;
import java.util.Arrays;

class Main {
  public static void main(String[] args) {

    // create an array of String type
    String[] arr = { "Java", "Python", "C++" };
    System.out.print("Array: ");

    // print array
    for (String str : arr) {
      System.out.print(str);
      System.out.print(" ");
    }

    // create an ArrayList from an array
    ArrayList<String> languages = new ArrayList<>(Arrays.asList(arr));
    System.out.println("\nArrayList: " + languages);
  }
}

Uitvoer

Array: Java Python C++        
ArrayList: [Java, Python, C++]

In het bovenstaande programma hebben we eerst een array gemaakt arr van de String type. Let op de uitdrukking,

Arrays.asList(arr)

Hier, de asList() methode converteert de array naar een arraylist.

Hoe maak en initialiseer je een ArrayList in een enkele regel?

We gebruiken de Arrays.asList() methode om een ​​arraylist in een enkele regel te maken en te initialiseren. Bijvoorbeeld,

import java.util.ArrayList;
import java.util.Arrays;

class Main {
  public static void main(String[] args) {

    // create and initialize ArrayList
    ArrayList<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C"));
    System.out.println("ArrayList: " + languages);

  }
}

// Output: ArrayList: [Java, Python, C]
Hoe een ArrayList naar String te converteren?

We gebruiken de toString() methode van de ArrayList class om een ​​arraylist om te zetten in een string. Bijvoorbeeld,

import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    ArrayList<String> languages = new ArrayList<>();

    // add elements in the ArrayList
    languages.add("Java");
    languages.add("Python");
    languages.add("Kotlin");
    System.out.println("ArrayList: " + languages);

    // convert ArrayList into a String
    String str = languages.toString();
    System.out.println("String: " + str);
  }
}

Uitvoer

ArrayList: [Java, Python, Kotlin]
String: [Java, Python, Kotlin]

Hier, de toString() methode converteert de hele arraylist naar een enkele string. Ga voor meer informatie naar Java ArrayList toString().

Hoe maak je een arraylist met behulp van de List-interface?

We kunnen ook een arraylist maken met behulp van de List-interface. Dit komt omdat de klasse ArrayList de List-interface implementeert. Laten we een voorbeeld bekijken,

import java.util.ArrayList;
import java.util.List;

class Main {
  public static void main(String[] args) {

    // create arraylist using List
    List<String> languages = new ArrayList<>();
    languages.add("Java");
    languages.add("Python");
    languages.add("C");

    System.out.println("ArrayList: " + languages);
  }
}

// Output: ArrayList: [Java, Python, C]

Java

  1. Java laatste trefwoord
  2. Java-instantie van Operator
  3. Java geneste statische klasse
  4. Java anonieme klasse
  5. Java Singleton-klasse
  6. Java-reflectie
  7. Java-vector
  8. Java-algoritmen
  9. Java ObjectOutputStream-klasse
  10. Java-generieken
  11. Java-bestandsklasse