java arraylist conversions other collections
Αυτό το σεμινάριο συζητά τις μετατροπές ArrayList σε άλλες συλλογές όπως Set, LinkedList, Lists κ.λπ. μαζί με τις διαφορές μεταξύ αυτών των συλλογών:
Μέχρι στιγμής έχουμε δει σχεδόν όλες τις έννοιες που σχετίζονται με το ArrayList στην Java. Εκτός από τη δημιουργία και τον χειρισμό του ArrayList χρησιμοποιώντας διάφορες λειτουργίες ή μεθόδους που παρέχονται από την τάξη ArrayList, μερικές φορές απαιτείται επίσης η μετατροπή του ArrayList σε μία ή περισσότερες συλλογές.
=> Επισκεφθείτε εδώ για να μάθετε Java από το μηδέν.
Σε αυτό το σεμινάριο, θα συζητήσουμε μερικές από τις μετατροπές από το ArrayList σε άλλες συλλογές που περιλαμβάνουν List, LinkedList, Vector, Set κ.λπ. Θα εξετάσουμε επίσης τη μετατροπή μεταξύ ArrayList και String. Μετά τις μετατροπές, θα συζητήσουμε επίσης τις διαφορές μεταξύ των ArrayLists και άλλων συλλογών - Πίνακες, Λίστα, Διάνυσμα, LinkedList κ.λπ.
Τι θα μάθετε:
- ArrayList to String μετατροπή
- String To ArrayList Μετατροπή
- Μετατροπή λίστας σε ArrayList στη Java
- Μετατροπή λίστας Array σε ρύθμιση σε Java
- Μετατροπή σε ArrayList στη Java
- Μια σειρά ArrayList στην Ιάβα
- ArrayList των συστοιχιών στην Ιάβα
- Λίστα Vs ArrayList στην Ιάβα
- Διάνυσμα Vs ArrayList
- ArrayList εναντίον LinkedList
- Συχνές Ερωτήσεις
- συμπέρασμα
- Συνιστώμενη ανάγνωση
ArrayList to String μετατροπή
Οι ακόλουθες μέθοδοι μπορούν να χρησιμοποιηθούν για τη μετατροπή του ArrayList σε String.
# 1) Χρήση αντικειμένου StringBuilder
import java.util.ArrayList; public class Main { public static void main(String args()) { //Create and initialize the ArrayList ArrayList strList = new ArrayList(); strList.add('Software'); strList.add('Testing'); strList.add('Help'); //print the ArrayList System.out.println('The ArrayList: ' + strList); //define a stringbuilder object StringBuffer sb = new StringBuffer(); //append each ArrayList element to the stringbuilder object for (String str : strList) { sb.append(str + ' '); } //convert stringbuilder to string and print it. String myStr = sb.toString(); System.out.println('
String from ArrayList: ' + myStr); } }
Παραγωγή:
The ArrayList: (Λογισμικό, Δοκιμή, Βοήθεια)
String from ArrayList: Βοήθεια για τη δοκιμή λογισμικού
Στο παραπάνω πρόγραμμα, δημιουργείται ένα αντικείμενο StringBuilder. Στη συνέχεια, χρησιμοποιώντας το βρόχο forEach, κάθε στοιχείο στο ArrayList προσαρτάται στο αντικείμενο StringBuilder. Στη συνέχεια, το αντικείμενο StringBuilder μετατρέπεται σε συμβολοσειρά. Σημειώστε ότι χρησιμοποιώντας τη μέθοδο 'προσάρτημα' του StringBuilder. μπορείτε επίσης να προσθέσετε τον κατάλληλο οριοθέτη στη συμβολοσειρά.
Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε το διάστημα (““) ως οριοθέτη.
# 2) Χρήση της μεθόδου String.join ()
Η μέθοδος String.join () μπορεί να χρησιμοποιηθεί για τη μετατροπή του ArrayList σε String. Εδώ, μπορείτε επίσης να περάσετε τον κατάλληλο οριοθέτη στη μέθοδο συμμετοχής.
Το παρακάτω πρόγραμμα το αποδεικνύει.
import java.util.ArrayList; public class Main { public static void main(String() args) { // create and initialize the ArrayList ArrayList metroList = new ArrayList(); metroList.add('Delhi'); metroList.add('Mumbai'); metroList.add('Chennai'); metroList.add('Kolkata'); //print the ArrayList System.out.println('The ArrayList: ' + metroList); // Join with an empty delimiter to concat all strings. String resultStr = String.join(' ', metroList); System.out.println('
String converted from ArrayList: '+resultStr); } }
Παραγωγή:
The ArrayList: (Δελχί, Βομβάη, Τσενάι, Καλκούτα)
Συμβολοσειρά που μετατράπηκε από την ArrayList: Delhi Mumbai Chennai Kolkata
Μπορείτε να δείτε ότι μεταβιβάζουμε απευθείας το ArrayList ως επιχείρημα στη μέθοδο String.join () μαζί με τον οριοθέτη.
Για απλές String ArrayLists, το String.join () είναι η καλύτερη μέθοδος μετατροπής σε String. Αλλά για πιο σύνθετα αντικείμενα ArrayLists, η χρήση του StringBuilder είναι πιο αποτελεσματική.
String To ArrayList Μετατροπή
Για να μετατρέψετε μια συμβολοσειρά σε ArrayList, υπάρχουν δύο βήματα:
- Η συμβολοσειρά χωρίζεται χρησιμοποιώντας τη συνάρτηση split () και τα υποστρώματα (split στο κατάλληλο οριοθέτη) αποθηκεύονται σε μια σειρά συμβολοσειρών.
- Ο πίνακας συμβολοσειρών που λαμβάνεται από τη διάσπαση της συμβολοσειράς μετατρέπεται στη συνέχεια σε ArrayList χρησιμοποιώντας τη μέθοδο «asList ()» της κλάσης Arrays.
Το πρόγραμμα μετατροπής συμβολοσειράς σε ArrayList δίνεται παρακάτω.
import java.util.ArrayList; import java.util.List; import java.util.Arrays; public class Main { public static void main(String args()){ //define a string String myStr = 'The string to ArrayList program'; //convert string to array using split function on spaces String strArray() = myStr.split(' '); //print the string System.out.println('The input string : ' + myStr); //declare an ArrayList List strList = new ArrayList(); //convert string array to ArrayList using asList method strList = Arrays.asList(strArray); //print the resultant ArrayList System.out.println('
The ArrayList from String:' + strList ); } }
Παραγωγή:
Η συμβολοσειρά εισόδου: Η συμβολοσειρά στο πρόγραμμα ArrayList
The ArrayList από το String: (Το, string, to, ArrayList, πρόγραμμα)
Στο παραπάνω πρόγραμμα, χωρίζουμε τη συμβολοσειρά σε κενά και τη συλλέγουμε σε μια σειρά συμβολοσειρών. Στη συνέχεια, αυτός ο πίνακας μετατρέπεται σε μια σειρά συμβολοσειρών.
Μετατροπή λίστας σε ArrayList στη Java
Το ArrayList εφαρμόζει τη διεπαφή λίστας. Εάν θέλετε να μετατρέψετε μια λίστα στην εφαρμογή της, όπως το ArrayList, τότε μπορείτε να το κάνετε χρησιμοποιώντας τη μέθοδο addAll της διεπαφής λίστας.
Το παρακάτω πρόγραμμα δείχνει τη μετατροπή της λίστας σε ArrayList προσθέτοντας όλα τα στοιχεία λίστας στο ArrayList.
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String a()){ //create a list & initiliaze it List collections_List = new ArrayList(); collections_List.add('ArrayList'); collections_List.add('Vector'); collections_List.add('LinkedList'); collections_List.add('Stack'); collections_List.add('Set'); collections_List.add('Map'); //print the list System.out.println('List contents: '+collections_List); //create an ArrayList ArrayList myList = new ArrayList(); //use addAll() method to add list elements to ArrayList myList.addAll(collections_List); //print the ArrayList System.out.println('
ArrayList after adding elements: '+myList); } }
Παραγωγή:
Περιεχόμενα λίστας: (ArrayList, Vector, LinkedList, Stack, Set, Map)
ArrayList μετά την προσθήκη στοιχείων: (ArrayList, Vector, LinkedList, Stack, Set, Map)
Μετατροπή λίστας Array σε ρύθμιση σε Java
Οι ακόλουθες μέθοδοι μετατρέπουν ένα ArrayList σε ένα σύνολο.
# 1) Χρησιμοποιώντας μια παραδοσιακή επαναληπτική προσέγγιση
unix ερωτήσεις συνέντευξης για υποστήριξη παραγωγής
Αυτή είναι η παραδοσιακή προσέγγιση. Εδώ, επαναλαμβάνουμε τη λίστα και προσθέτουμε κάθε στοιχείο του ArrayList στο σύνολο.
Στο παρακάτω πρόγραμμα, έχουμε μια σειρά συμβολοσειρών ArrayList. Δηλώνουμε ένα HashSet συμβολοσειράς. Στη συνέχεια, χρησιμοποιώντας το βρόχο forEach, επαναλαμβάνουμε τη λίστα ArrayList και προσθέτουμε κάθε στοιχείο στο HashSet.
Με παρόμοιο τρόπο, μπορούμε επίσης να μετατρέψουμε το ArrayList σε treeSet.
import java.util.*; class Main { public static void main(String() args) { // Create & initialize an ArrayList ArrayList colorsList = new ArrayList (Arrays.asList('Red', 'Green', 'Blue', 'Cyan', 'Magenta', 'Yellow')); //print the ArrayList System.out.println('The ArrayList:' + colorsList); //Declare a HashSet Set hSet = new HashSet(); //Add each ArrayList element to the set for (String x : colorsList) hSet.add(x); //Print the HashSet System.out.println('
HashSet obtained from ArrayList: ' + hSet); } }
Παραγωγή:
The ArrayList: (Κόκκινο, Πράσινο, Μπλε, Κυανό, Ματζέντα, Κίτρινο)
HashSet που αποκτήθηκε από το ArrayList: (Κόκκινο, Κυανό, Μπλε, Κίτρινο, Ματζέντα, Πράσινο)
# 2) Χρήση του Set Constructor
Η επόμενη μέθοδος μετατροπής ενός ArrayList σε ένα σύνολο είναι η χρήση του κατασκευαστή. Σε αυτήν τη μέθοδο, μεταβιβάζουμε το ArrayList ως επιχείρημα στον κατασκευαστή του συνόλου και έτσι αρχικοποιούμε το σύνολο αντικειμένων με στοιχεία ArrayList.
Το παρακάτω πρόγραμμα δείχνει τη χρήση του ArrayList στη δημιουργία ενός αντικειμένου.
import java.util.*; class Main { public static void main(String() args) { // Create & initialize an ArrayList ArrayList colorsList = new ArrayList (Arrays.asList('Red', 'Green', 'Blue', 'Cyan', 'Magenta', 'Yellow')); //print the ArrayList System.out.println('The ArrayList:' + colorsList); //Declare a TreeSet Set tSet = new TreeSet(colorsList); //Print the TreeSet System.out.println('
TreeSet obtained from ArrayList: ' + tSet); } }
Παραγωγή:
The ArrayList: (Κόκκινο, Πράσινο, Μπλε, Κυανό, Ματζέντα, Κίτρινο
TreeSet που αποκτήθηκε από το ArrayList: (Μπλε, Κυανό, Πράσινο, Ματζέντα, Κόκκινο, Κίτρινο)
προσθέτοντας ένα στοιχείο σε έναν πίνακα java
# 3) Χρήση της μεθόδου addAll
Μπορείτε επίσης να χρησιμοποιήσετε τη μέθοδο addAll του Set για να προσθέσετε όλα τα στοιχεία του ArrayList στο σύνολο.
Το ακόλουθο πρόγραμμα χρησιμοποιεί τη μέθοδο addAll για να προσθέσετε τα στοιχεία του ArrayList στο HashSet.
import java.util.*; class Main { public static void main(String() args) { // Create & initialize an ArrayList ArrayList colorsList = new ArrayList (Arrays.asList('Red', 'Green', 'Blue', 'Cyan', 'Magenta', 'Yellow')); //print the ArrayList System.out.println('The ArrayList:' + colorsList); //Declare a HashSet Set hSet = new HashSet(); //use addAll method of HashSet to add elements of ArrayList hSet.addAll(colorsList); //Print the HashSet System.out.println('
HashSet obtained from ArrayList: ' + hSet); } }
Παραγωγή:
The ArrayList: (Κόκκινο, Πράσινο, Μπλε, Κυανό, Ματζέντα, Κίτρινο)
HashSet που αποκτήθηκε από το ArrayList: (Κόκκινο, Κυανό, Μπλε, Κίτρινο, Ματζέντα, Πράσινο)
# 4) Χρήση Java 8 Stream
Οι ροές είναι οι νέες προσθήκες στο Java 8. Αυτή η κλάση ροής παρέχει μια μέθοδο για τη μετατροπή του ArrayList σε ροή και στη συνέχεια για τη ρύθμιση.
Το παρακάτω πρόγραμμα Java δείχνει τη χρήση της μεθόδου κατηγορίας ροής για τη μετατροπή του ArrayList σε ρύθμιση.
import java.util.*; import java.util.stream.*; class Main { public static void main(String() args) { // Create & initialize an ArrayList ArrayList colorsList = new ArrayList (Arrays.asList('Red', 'Green', 'Blue', 'Cyan', 'Magenta', 'Yellow')); //print the ArrayList System.out.println('The ArrayList:' + colorsList); // Convert ArrayList to set using stream Set set = colorsList.stream().collect(Collectors.toSet()); //Print the Set System.out.println('
Set obtained from ArrayList: ' + set); } }
Παραγωγή:
The ArrayList: (Κόκκινο, Πράσινο, Μπλε, Κυανό, Ματζέντα, Κίτρινο)
Σετ που αποκτήθηκε από το ArrayList: (Κόκκινο, Κυανό, Μπλε, Κίτρινο, Ματζέντα, Πράσινο)
Μετατροπή σε ArrayList στη Java
Στην τελευταία ενότητα, έχουμε δει τη μετατροπή του ArrayList σε Set. Η μετατροπή από το Set σε ArrayList χρησιμοποιεί επίσης τις ίδιες μεθόδους όπως περιγράφονται παραπάνω με τη διαφορά ότι αλλάζει η θέση του σετ και το ArrayList.
Παρακάτω παρατίθενται παραδείγματα προγραμματισμού για τη μετατροπή του Set σε ArrayList. Η άλλη περιγραφή για κάθε μέθοδο παραμένει η ίδια.
# 1) Επαναληπτική προσέγγιση
import java.util.*; class Main { public static void main(String() args) { // Create a set of strings & add elements to it Set set = new HashSet(); set.add('One'); set.add('Two'); set.add('Three'); //print the set System.out.println('The given Set: ' + set); //create an ArrayList ArrayList numList = new ArrayList(set.size()); //add each set element to the ArrayList using add method for (String str : set) numList.add(str); //print the ArrayList System.out.println('
ArrayList obtained from Set: ' + numList); } }
Παραγωγή:
Το δεδομένο σετ: (Ένα, δύο, τρία)
ArrayList που αποκτήθηκε από το σετ: (Ένα, δύο, τρία)
Στο παραπάνω πρόγραμμα, πραγματοποιούμε επαναλήψεις μέσω του συνόλου και κάθε στοιχείο συνόλου προστίθεται στο ArrayList.
# 2) Χρήση του Κατασκευαστή
import java.util.*; class Main { public static void main(String() args) { // Create a set of strings & add elements to it Set set = new HashSet(); set.add('One'); set.add('Two'); set.add('Three'); //print the set System.out.println('The given Set: ' + set); //create an ArrayList and pass set to the constructor List numList = new ArrayList(set); //print the ArrayList System.out.println('
ArrayList obtained from Set: ' + numList); } }
Παραγωγή:
Το δεδομένο σετ: (Ένα, δύο, τρία)
ArrayList που αποκτήθηκε από το σετ: (Ένα, δύο, τρία)
Το παραπάνω πρόγραμμα δημιουργεί ένα σετ και ένα ArrayList. Το αντικείμενο ArrayList δημιουργείται παρέχοντας ένα σύνολο αντικειμένων ως επιχείρημα στον κατασκευαστή του.
# 3) Χρήση της μεθόδου addAll
import java.util.*; class Main { public static void main(String() args) { // Create a set of strings & add elements to it Set set = new HashSet(); set.add('One'); set.add('Two'); set.add('Three'); //print the set System.out.println('The given Set: ' + set); //create an ArrayList List numList = new ArrayList(); //use addAll method of ArrayList to add elements of set numList.addAll(set); //print the ArrayList System.out.println('
ArrayList obtained from Set: ' + numList); } }
Παραγωγή:
Το δεδομένο σετ: (Ένα, δύο, τρία)
ArrayList που αποκτήθηκε από το σετ: (Ένα, δύο, τρία)
Εδώ, χρησιμοποιούμε τη μέθοδο addAll του ArrayList για να προσθέσουμε τα στοιχεία από το σετ στο ArrayList.
# 4) Χρήση Java 8 Stream
import java.util.*; import java.util.stream.*; class Main { public static void main(String() args) { // Create a set of strings & add elements to it Set set = new HashSet(); set.add('One'); set.add('Two'); set.add('Three'); //print the set System.out.println('The given Set: ' + set); //create an ArrayList and using stream method,assign stream of elements to ArrayList List numList = set.stream().collect(Collectors.toList()); //print the ArrayList System.out.println('
ArrayList obtained from Set: ' + numList); } }
Παραγωγή:
Το δεδομένο σετ: (Ένα, δύο, τρία)
ArrayList που αποκτήθηκε από το σετ: (Ένα, δύο, τρία)
Το παραπάνω πρόγραμμα χρησιμοποιεί τάξη ροής για να μετατρέψει το Set σε ArrayList.
Μια σειρά ArrayList στην Ιάβα
Ένα Array of ArrayList όπως υποδηλώνει το όνομα αποτελείται από ArrayLists ως στοιχεία του. Αν και η λειτουργία δεν χρησιμοποιείται τακτικά, χρησιμοποιείται όταν απαιτείται αποτελεσματική χρήση του χώρου μνήμης.
Το ακόλουθο πρόγραμμα υλοποιεί ένα Array of ArrayLists στην Java.
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String() args) { //define and initialize a num_list List num_list = new ArrayList(); num_list.add('One'); num_list.add('Two'); num_list.add('Two'); //define and initialize a colors_list List colors_list = new ArrayList(); colors_list.add('Red'); colors_list.add('Green'); colors_list.add('Blue'); //define Array of ArrayList with two elements List() arrayOfArrayList = new List(2); //add num_list as first element arrayOfArrayList(0) = num_list; //add colors_list as second element arrayOfArrayList(1) = colors_list; //print the contents of Array of ArrayList System.out.println('Contents of Array of ArrayList:'); for (int i = 0; i Παραγωγή:
καθένα από τα παρακάτω είναι εργαλεία που χρησιμοποιούνται για τον έλεγχο της υγείας ενός δικτύου
Περιεχόμενα του Array of ArrayList:
(Ένα, δύο, δύο)
(Κόκκινο, Πράσινο, Μπλε)

Στο παραπάνω πρόγραμμα, ορίζουμε πρώτα δύο λίστες. Στη συνέχεια δηλώνουμε μια συστοιχία δύο ArrayList. Κάθε στοιχείο αυτού του πίνακα είναι το ArrayList που ορίστηκε νωρίτερα. Τέλος, τα περιεχόμενα ενός Array of ArrayList εμφανίζονται χρησιμοποιώντας ένα για βρόχο.
ArrayList των συστοιχιών στην Ιάβα
Ακριβώς όπως έχουμε μια σειρά ArrayLists, μπορούμε επίσης να έχουμε ArrayList of Arrays. Εδώ, κάθε μεμονωμένο στοιχείο ενός ArrayList είναι ένα Array.
Το παρακάτω πρόγραμμα δείχνει ArrayList of Arrays.
import java.util.*; public class Main { public static void main(String() args) { // declare ArrayList of String arrays ArrayList ArrayList_Of_Arrays = new ArrayList(); //define individual string arrays String() colors = { 'Red', 'Green', 'Blue' }; String() cities = { 'Pune', 'Mumbai', 'Delhi'}; //add each array as element to ArrayList ArrayList_Of_Arrays.add(colors); ArrayList_Of_Arrays.add(cities); // print ArrayList of Arrays System.out.println('Contents of ArrayList of Arrays:'); for (String() strArr : ArrayList_Of_Arrays) { System.out.println(Arrays.toString(strArr)); } } }
Παραγωγή:
Περιεχόμενα του Array Λίστα των συστοιχιών:
(Κόκκινο, Πράσινο, Μπλε)
(Πούνε, Μουμπάι, Δελχί)

Το παραπάνω πρόγραμμα δείχνει ArrayList of Arrays. Αρχικά, δηλώνουμε ένα ArrayList of String Arrays. Αυτό σημαίνει ότι κάθε στοιχείο του ArrayList θα είναι ένα String Array. Στη συνέχεια, ορίζουμε δύο συστοιχίες συστοιχιών. Στη συνέχεια, κάθε ένας από τους πίνακες προστίθεται στο ArrayList. Τέλος, εκτυπώνουμε τα περιεχόμενα του ArrayList of Arrays.
Για να εκτυπώσετε τα περιεχόμενα, διασχίζουμε το ArrayList χρησιμοποιώντας το loop. Για κάθε επανάληψη, εκτυπώνουμε τα περιεχόμενα του στοιχείου ArrayList που έχει μια Array χρησιμοποιώντας τη μέθοδο Arrays.toString ().
Λίστα Vs ArrayList στην Ιάβα
Οι παρακάτω πίνακες δείχνουν μερικές από τις διαφορές μεταξύ λίστας και ArrayList.
Λίστα Λίστα Array Η λίστα είναι μια διεπαφή στην Java Το ArrayList είναι μέρος του πλαισίου Java Collection Η λίστα εφαρμόζεται ως διεπαφή Το ArrayList υλοποιείται ως κατηγορία συλλογής Επεκτείνει τη διεπαφή συλλογής υλοποιεί τη διεπαφή λίστας και επεκτείνει το AbstractList Μέρος του χώρου ονομάτων System.Collection.generic Μέρος του χώρου ονομάτων System.Collections Χρησιμοποιώντας Λίστα, μπορεί να δημιουργηθεί μια λίστα με στοιχεία στα οποία μπορείτε να έχετε πρόσβαση χρησιμοποιώντας δείκτες. Χρησιμοποιώντας το ArrayList, μπορούμε να δημιουργήσουμε μια δυναμική συστοιχία στοιχείων ή αντικειμένων των οποίων το μέγεθος αλλάζει αυτόματα με τις αλλαγές στο περιεχόμενο.
Διάνυσμα Vs ArrayList
Παρακάτω δίνονται μερικές από τις διαφορές μεταξύ ενός φορέα και ενός ArrayList.
Λίστα Array Συνδεδεμένη λίστα Το ArrayList υλοποιεί τη διεπαφή λίστας Το LinkedList εφαρμόζει διασυνδέσεις List και Deque. Η αποθήκευση δεδομένων και η πρόσβαση είναι αποτελεσματικές στο ArrayList. Το LinkedList είναι καλό στο χειρισμό δεδομένων. Το ArrayList εφαρμόζει εσωτερικά μια δυναμική συστοιχία. Το LinkedList εφαρμόζει εσωτερικά μια διπλά συνδεδεμένη λίστα. Δεδομένου ότι το ArrayList εφαρμόζει εσωτερικά δυναμική συστοιχία, η προσθήκη / διαγραφή στοιχείων είναι αργή καθώς απαιτείται πολλή αλλαγή bit. Το LinkedList είναι ταχύτερο όσον αφορά την προσθήκη / αφαίρεση στοιχείων, καθώς δεν απαιτείται μετατόπιση bit. Λιγότερη γενική μνήμη αφού στο ArrayList αποθηκεύονται μόνο πραγματικά δεδομένα. Περισσότερη γενική μνήμη αφού κάθε κόμβος στο LinkedList περιέχει δεδομένα καθώς και τη διεύθυνση στον επόμενο κόμβο.
ArrayList εναντίον LinkedList
Ας συζητήσουμε τώρα τις διάφορες διαφορές μεταξύ ενός ArrayList και ενός LinkedList.
Λίστα Array Συνδεδεμένη λίστα Το ArrayList υλοποιεί τη διεπαφή λίστας Το LinkedList εφαρμόζει διασυνδέσεις List και Deque. Η αποθήκευση δεδομένων και η πρόσβαση είναι αποτελεσματικές στο ArrayList. Το LinkedList είναι καλό στο χειρισμό δεδομένων. Το ArrayList εφαρμόζει εσωτερικά μια δυναμική συστοιχία. Το LinkedList εφαρμόζει εσωτερικά μια διπλά συνδεδεμένη λίστα. Δεδομένου ότι το ArrayList εφαρμόζει εσωτερικά δυναμική συστοιχία, η προσθήκη / διαγραφή στοιχείων είναι αργή καθώς απαιτείται πολλή αλλαγή bit. Το LinkedList είναι ταχύτερο όσον αφορά την προσθήκη / αφαίρεση στοιχείων, καθώς δεν απαιτείται μετατόπιση bit. Λιγότερη γενική μνήμη αφού στο ArrayList αποθηκεύονται μόνο πραγματικά δεδομένα. Περισσότερη γενική μνήμη αφού κάθε κόμβος στο LinkedList περιέχει δεδομένα καθώς και τη διεύθυνση στον επόμενο κόμβο.
Συχνές Ερωτήσεις
Ε # 1) Πώς μετατρέπετε ένα ArrayList σε Array στην Java;
Απάντηση: Για να μετατρέψετε μια ArrayList σε Array στην Java, μπορεί κανείς να χρησιμοποιήσει τη μέθοδο toArray () από το ArrayList API που μετατρέπει μια δεδομένη ArrayList σε μια Array.
Q # 2) Πώς χωρίζετε μια συμβολοσειρά και την αποθηκεύετε σε μια ArrayList στην Java;
Απάντηση: Η συμβολοσειρά χωρίζεται χρησιμοποιώντας μια συνάρτηση split (). Αυτή η μέθοδος επιστρέφει μια σειρά συμβολοσειρών. Στη συνέχεια, χρησιμοποιώντας τη μέθοδο Arrays.asList (), ο πίνακας συμβολοσειρών μπορεί να μετατραπεί σε ArrayList των συμβολοσειρών.
Q # 3) Ποιο είναι το προεπιλεγμένο μέγεθος ενός ArrayList;
Απάντηση: Ένα αντικείμενο ArrayList που δημιουργήθηκε χωρίς να διευκρινιστεί η χωρητικότητα έχει μέγεθος 0 καθώς δεν υπάρχουν στοιχεία που προστίθενται στη λίστα. Αλλά η προεπιλεγμένη χωρητικότητα αυτού του ArrayList είναι 10.
Q # 4) Ποια είναι η διαφορά μεταξύ του μήκους () και του μεγέθους () του ArrayList;
Απάντηση: Η ArrayList δεν έχει ιδιότητα ή μέθοδο μήκους (). Παρέχει μόνο τη μέθοδο size () που επιστρέφει τον συνολικό αριθμό στοιχείων στο ArrayList.
Q # 5) Ποια είναι η διαφορά μεταξύ της χωρητικότητας και του μεγέθους του ArrayList;
Απάντηση: Το ArrayList διαθέτει χωρητικότητα και μέγεθος. Η χωρητικότητα είναι το συνολικό μέγεθος του ArrayList ή ο συνολικός αριθμός στοιχείων που μπορεί να κρατήσει. Το μέγεθος είναι ο αριθμός των στοιχείων ή τοποθεσιών που έχουν δεδομένα σε αυτά.
Για παράδειγμα, Εάν η χωρητικότητα του ArrayList είναι 10 και το μέγεθός της είναι 5, αυτό σημαίνει ότι ένα ArrayList μπορεί να χωρέσει έως και 10 στοιχεία, αλλά προς το παρόν μόνο 5 θέσεις έχουν δεδομένα σε αυτά.
συμπέρασμα
Σε αυτό το σεμινάριο, συζητήσαμε μερικές από τις πρόσθετες έννοιες που σχετίζονται με το ArrayList, όπως η μετατροπή του ArrayList σε συμβολοσειρά, λίστα, σετ και αντίστροφα. Συζητήσαμε επίσης τις διαφορές μεταξύ ArrayList και Vector, ArrayList και LinkedList κ.λπ.
Στο επερχόμενο σεμινάριό μας, θα πάρουμε μια άλλη συλλογή και θα την μάθουμε διεξοδικά.
=> Δείτε εδώ για να δείτε το A-Z Of Java Training Tutorials εδώ.
Συνιστώμενη ανάγνωση
- Java String με String Buffer και String Builder Tutorial
- Java ArrayList - Πώς να δηλώσετε, να προετοιμάσετε και να εκτυπώσετε μια ArrayList
- Εκμάθηση Java Reflection με παραδείγματα
- Εκμάθηση συμβολοσειράς Java | Μέθοδοι συμβολοσειράς Java με παραδείγματα
- Νήματα Java με μεθόδους και κύκλο ζωής
- Ανάπτυξη Java: Δημιουργία και εκτέλεση αρχείου Java JAR
- Βασικά Java: Java Syntax, Java Class και Core Java Concepts
- Java Virtual Machine: Πώς βοηθά το JVM στην εκτέλεση της εφαρμογής Java