Vorwort:
In diesem Artikel wird der Vergleich der Vor- und Nachteile der drei Situationen der Konvertierung von Arrays in Java sowie den Vergleich der Anwendungsszenarien und die Analyse der Ursachen von Typ -Konvertierungsfehlern, die Programmierer häufig machen, in eine Liste eingeführt.
1. Der häufigste Weg (nicht unbedingt der beste)
Nachdem Sie das Array über Arrays.asList(strArray) in die Liste konvertiert haben, können Sie die Liste nicht hinzufügen oder löschen. Sie können es nur überprüfen und ändern, andernfalls wird eine Ausnahme ausgelöst.
Schlüsselcode: List list = Arrays.asList(strArray);
private void testArraycastTolisterRor () {String [] strarrray = new String [2]; Listlist = arrays.aslist (strarrray); // ein Daten in die konvertierte Liste einfügen. List.add ("1"); System.out.println (Liste); }Ausführungsergebnisse:
Ausnahme in Thread "Haupt" java.lang.unsupportedoperationException
bei java.util.abstractlist.add (AbstractList.java:148)
bei java.util.abstractlist.add (AbstractList.java:108)
unter com.darwin.junit.calculator.TestArraycasttolist (Calculator.java:19)
bei com.darwin.junit.calculator.main (rechner.java:44)
Das Programm bringt eine Ausnahme auf list.add(“1”) . Nicht unterstützte OperationException.
Grundanalyse:
Der Rückgabewert von Arrays.asList(strArray) ist eine private statische innere Klasse java.util.Arrays Klasse java.util.Arrays.ArrayList , die nicht java.util.ArrayList ist. java.util.Arrays.ArrayList -Klasse hat set() , get() , contains() und andere Methoden, hat jedoch nicht die Methode, add() oder REMED () zu entfernen remove() . Aufrufen add() verursacht einen Fehler.
Verwendungsszenario: Arrays.asList(strArray) -Methode kann erst nach dem Konvertieren eines Arrays in eine Liste verwendet werden. Es ist nicht erforderlich, die darin enthaltenen Werte hinzuzufügen oder zu löschen, und es wird nur als Datenquelle zum Lesen verwendet.
2. Nachdem das Array in die Liste konvertiert wurde, unterstützt es die Methode zum Hinzufügen, Löschen, Ändern und Suchen.
Konvertieren Sie über den ArrayList -Konstruktor den Rückgabewert von Arrays.asList(strArray) von java.util.Arrays.ArrayList in java.util.ArrayList .
Schlüsselcode: ArrayList<String> list = new ArrayList<String>(Arrays.asList(strArray)) ;
private void testArraycastTolistright () {String [] strarrray = new String [2]; ArrayList <string> list = new ArrayList <string> (arrays.aslist (strarrray)); list.add ("1"); System.out.println (Liste); }Ausführungsergebnis: Ein Element "1" wurde erfolgreich hinzugefügt.
[NULL, NULL, 1]
Verwendungsszenario: Nach dem Konvertieren des Arrays in eine Liste müssen Sie die Liste hinzufügen, löschen, ändern und überprüfen. Es kann verwendet werden, wenn die Datenmenge in der Liste nicht groß ist.
3. Durch die Sammlung der Sammlungswerkzeugklassen.Addall () Methode (am effizientesten)
Konvertieren Sie durch Collections.addAll(arrayList, strArray) , erstellen Sie eine Liste derselben Länge gemäß der Länge des Arrays und konvertieren Sie die Elemente im Array in Binary über Collections.addAll() -Methode und fügen Sie sie dann der Liste hinzu. Dies ist die effizienteste Methode.
Schlüsselcode:
ArrayList <string> arrayList = new ArrayList <string> (strarrray.length); Collections.addall (ArrayList, Strarrray);
prüfen:
private void testArraycasttolistefficiene () {String [] strarrray = new String [2]; ArrayList <string> arrayList = new ArrayList <string> (strarrray.length); Collections.Addall (ArrayList, Strarrray); arrayList.add ("1"); System.out.println (ArrayList); }Ausführungsergebnis: Auch erfolgreich ein Element "1" angehängt.
[NULL, NULL, 1]
Verwendungsszenario: Nach dem Konvertieren des Arrays in eine Liste müssen Sie die Liste hinzufügen, löschen, ändern und überprüfen. Wenn das Datenvolumen der Liste riesig ist, wird es bevorzugt, sie zu verwenden, was die Betriebsgeschwindigkeit verbessern kann.
HINWEIS: Fügen Sie den Quellcode Collections.addAll() an.
public static <t> boolean addall (Sammlung <? Super t> c, t ... Elemente) {boolean result = false; für (telement: Elemente) Ergebnis | = C.Add (Element); // Ergebnis und C.Add (Element) bitweise oder operieren und dann den Wert dem Ergebnis der Rückgabeergebnis zuweisen; }Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Referenzwert für das Studium oder die Arbeit eines jeden hat. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.