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

Ποια είναι η διαφορά μεταξύ ArrayList και Array στη Java;

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

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

Αντίθετα, δεν είναι δυνατό να αλλάξετε το μέγεθος ενός πίνακα. Αυτό σημαίνει ότι ιδανικά θα πρέπει να γνωρίζετε εκ των προτέρων τον αριθμό των αντικειμένων που θα περιέχει ο πίνακας. Οι πίνακες είναι κατάλληλοι για τη διαχείριση ενός προκαθορισμένου συνόλου πρωτότυπων τύπων δεδομένων, όπως int, float, char ή Boolean.

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

Ποια είναι η σύνταξη για το Java ArrayList;

Πριν από τη δημιουργία του ArrayList, η αντίστοιχη κλάση πρέπει να εισαχθεί από τη βιβλιοθήκη java.util.

import java.util.ArrayList;
Java

Η γενική σύνταξη είναι:

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

Ο όρος «τύπος» αναφέρεται στον αντίστοιχο τύπο δεδομένων στο Java ArrayList.

Το επόμενο βήμα είναι να δημιουργήσετε λίστες με strings και integers στοιχεία.

ArrayList<String> arrayList= new ArrayList<>();
Java
ArrayList<Integer> arrayList= new ArrayList<>();
Java

Οι ArrayLists χρησιμοποιούν την αντίστοιχη κλάση περιτύλιξης των πρωτόγονων τύπων δεδομένων, έτσι ώστε να αντιμετωπίζονται ως αντικείμενα. Αυτό σημαίνει ότι πρέπει να καθορίσετε integer αντί για int.

Παραδείγματα μεθόδων Java ArrayList

Λειτουργίες όπως η προσθήκη ή η αφαίρεση στοιχείων δεν εκτελούνται σε ArrayLists με Java operators, αλλά μέσω προκαθορισμένων μεθόδων. Παρακάτω θα σας παρουσιάσουμε τις πιο συνηθισμένες μεθόδους ArrayList.

Προσθήκη στοιχείων

Αφού δημιουργήσουμε το ArrayList «colours» (τύπουString ), θα προσθέσουμε διάφορα στοιχεία χρησιμοποιώντας τη μέθοδο .add().

import java.util.ArrayList;
class Main {
    public static void main(String[] args){
        ArrayList<String> colours = new ArrayList<>();
        colours.add("blue");
        colours.add("red");
        colours.add("green");
        System.out.println("ArrayList: " + colours);
    }
}
Java

Αυτό έχει ως αποτέλεσμα:

ArrayList: [blue, red, green]
Java

Αφαίρεση στοιχείων

Για να αφαιρέσουμε αντικείμενα από το Java ArrayList, χρησιμοποιούμε τη μέθοδο .remove() και καθορίζουμε τον δείκτη του στοιχείου.

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        ArrayList<String> colours = new ArrayList<>();
        colours.add("blue");
        colours.add("red");
        colours.add("green");
        System.out.println("ArrayList: " + colours);
        String colour = colours.remove(1);
        System.out.println("ArrayList: " + colours);
        System.out.println("Removed Element: " + colour);
    }
}
Java

Η έξοδος εμφανίζει το τροποποιημένο ArrayList και το στοιχείο που έχει αφαιρεθεί:

ArrayList: [blue, green]
Removed Element: red
Java

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

Πρόσβαση σε στοιχεία στο Java ArrayList

Χρησιμοποιώντας τη συνάρτηση .get(), μπορούμε να έχουμε πρόσβαση σε ένα στοιχείο σε μια συγκεκριμένη θέση.

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        ArrayList<String> clothes = new ArrayList<>();
        clothes.add("jacket");
        clothes.add("shirt");
        clothes.add("pullover");
        System.out.println("ArrayList: " + clothes);
        String str = clothes.get(2);
        System.out.print("Element at index 2: " + str);
    }
}
Java

Για την έξοδο έχουμε:

ArrayList: [jacket, shirt, pullover]
Element at index 2: pullover
Java

Αλλαγή στοιχείων

Με .set(), μπορούμε να αλλάξουμε ένα στοιχείο αναθέτοντας ένα νέο στοιχείο σε έναν συγκεκριμένο δείκτη.

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        ArrayList<String> colours = new ArrayList<>();
        colours.add("blue");
        colours.add("red");
        colours.add("green");
        System.out.println("ArrayList: " + colours);
        colours.set(2, "yellow");
        System.out.println("Modified ArrayList: " + colours);
    }
}
Java

Τώρα βλέπουμε yellow αντί για green στον δείκτη 2:

ArrayList: [blue, red, green]
Modified ArrayList: [blue, red, yellow]
Java

Προσδιορισμός του μήκους του Java ArrayList

Ο αριθμός των στοιχείων στο ArrayList μπορεί εύκολα να υπολογιστεί χρησιμοποιώντας τη μέθοδο .size().

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        ArrayList<String> colours = new ArrayList<>();
        colours.add("blue");
        colours.add("red");
        colours.add("green");
        System.out.println(colours.size());
    }
}
Java

Αυτό είναι το αποτέλεσμα:

3
Java

Ταξινόμηση και επανάληψη μέσω ArrayList

Για να ταξινομήσετε το Java ArrayList, πρέπει να εισαχθεί η κλάση συλλογών. Για την επανάληψη, χρησιμοποιούμε έναν βρόχο Java for-each. Για κάθε επανάληψη του βρόχου, το αντίστοιχο στοιχείο εξάγεται στην κονσόλα.

import java.util.ArrayList;
import java.util.Collections;
public class Main {
    public static void main(String[] args) {
        ArrayList<Integer> ages = new ArrayList<Integer>();
        ages.add(20);
        ages.add(54);
        ages.add(17);
        ages.add(9);
        Collections.sort(ages);
        for (int i : ages) {
            System.out.println(i);
        }
    }
}
Java

Τα στοιχεία του ArrayList εμφανίζονται από το μικρότερο προς το μεγαλύτερο:

9
17
20
54
Java

dc8b52a43898356b40686188ee9833ee

2ff1ee966561e624dab43c433c815fd9

Go to Main Menu