4097 Stimmen

ArrayList aus Array erstellen

Ich habe ein Array, das wie initialisiert wird:

Element[] array = {new Element(1), new Element(2), new Element(3)};

Ich möchte dieses Array in ein Objekt des Typs ArrayList Klasse.

ArrayList<Element> arraylist = ???;

59 Stimmen

In Java9 --> List<String> list = List.of("Hallo", "Welt", "von", "Java");

32 Stimmen

@MarekM Diese Antwort ist falsch, denn sie gibt keine ArrayList . Das Poster hat ausdrücklich darum gebeten.

7 Stimmen

Ich denke, dass er die Listenschnittstelle nicht verwendet hat, weil dies die beste Praxis ist. Aber wenn Sie wollen, hier ist - neue ArrayList<>(List.of("Hallo", "World", "von", "Java"));

3voto

Lakindu Hewawasam Punkte 543

Es gibt noch eine weitere Möglichkeit, wie Sie das Array in eine ArrayList umwandeln können. Sie können über das Array iterieren und jeden Index in die ArrayList einfügen und sie wie in ArrayList zurückgeben.

Dies ist im Folgenden dargestellt.

public static void main(String[] args) {
        String[] array = {new String("David"), new String("John"), new String("Mike")};

        ArrayList<String> theArrayList = convertToArrayList(array);
    }

    private static ArrayList<String> convertToArrayList(String[] array) {
        ArrayList<String> convertedArray = new ArrayList<String>();

        for (String element : array) {
            convertedArray.add(element);
        }

        return convertedArray;
    }

2voto

Kaplan Punkte 1226

der Lambda-Ausdruck, der eine Liste des Typs ArrayList<Element>
(1) ohne einen ungeprüften Wurf
(2) ohne eine zweite Liste zu erstellen (mit z. B. asList() )

ArrayList<Element> list = Stream.of( array ).collect( Collectors.toCollection( ArrayList::new ) );

2voto

yegor256 Punkte 96888

Sie können eine ArrayList mit Kakteen (Ich bin einer der Entwickler):

List<String> names = new StickyList<>(
  "Scott Fitzgerald", "Fyodor Dostoyevsky"
);

Es gibt keine Garantie, dass das Objekt tatsächlich der Klasse ArrayList . Wenn Sie diese Garantie benötigen, tun Sie dies:

ArrayList<String> list = new ArrayList<>(
  new StickyList<>(
    "Scott Fitzgerald", "Fyodor Dostoyevsky"
  )
);

0 Stimmen

Ich respektiere Ihre Arbeit. Aber als jemand, der neu in Java ist, List und Rest seiner Sammlungen (ArrayList, etc...) ist bereits zu viel zu behandeln. Warum Sie wollen, dass ich mehr zu leiden :-(

0voto

Devratna Punkte 880

Verwenden Sie den folgenden Code

Element[] array = {new Element(1), new Element(2), new Element(3)};
ArrayList<Element> list = (ArrayList) Arrays.asList(array);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X