Java: So konvertieren Sie Strings[] zum Auflisten oder Festlegen [duplicate]

Lesezeit: 2 Minuten

So konvertieren Sie Strings[] (Array) zur Sammlung, wie ArrayList oder HashSet?

  • Gibt es sowas nicht java.util.Arrays.asList(array) ?

    – Weniger

    16. August 2012 um 12:00 Uhr

Arrays.asList() würde hier den Trick machen.

String[] words = {"ace", "boom", "crew", "dog", "eon"};   

List<String> wordList = Arrays.asList(words);  

Zum Konvertieren in Set können Sie wie folgt vorgehen

Set<T> mySet = new HashSet<T>(Arrays.asList(words)); 

  • Ab Java 9: ​​Set mySet = Set.of(words);

    – Stéphane Millien

    8. Dezember 2020 um 17:48 Uhr

  • @StéphaneMillien Vorsicht: Das wirft einen auf IllegalArgumentException wenn doppelte Werte vorhanden sind

    – Reimäus

    18. April 2021 um 10:58 Uhr

Der einfachste Weg wäre:

String[] myArray = ...;
List<String> strs = Arrays.asList(myArray);

mit dem Handy Arrays Gebrauchsklasse. Beachten Sie, dass Sie sogar tun können

List<String> strs = Arrays.asList("a", "b", "c");

Collections.addAll bietet den kürzesten (einzeiligen) Beleg

Haben

String[] array = {"foo", "bar", "baz"}; 
Set<String> set = new HashSet<>();

Sie können wie folgt vorgehen

Collections.addAll(set, array); 

Es ist sowieso ein alter Code, versuchen Sie es:

import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
public class StringArrayTest
{
   public static void main(String[] args)
   {
      String[] words = {"word1", "word2", "word3", "word4", "word5"};

      List<String> wordList = Arrays.asList(words);

      for (String e : wordList)
      {
         System.out.println(e);
      }
    }
}

Wenn Sie wirklich ein Set verwenden möchten:

String[] strArray = {"foo", "foo", "bar"};  
Set<String> mySet = new HashSet<String>(Arrays.asList(strArray));
System.out.println(mySet);

Ausgang:

[foo, bar]

Benutzer-Avatar
JonnyRaa

Obwohl dies nicht unbedingt eine Antwort auf diese Frage ist, halte ich sie für nützlich.

Arrays und Sammlungen können problemlos in Iterable konvertiert werden, wodurch die Notwendigkeit einer harten Konvertierung vermieden werden kann.

Zum Beispiel habe ich dies geschrieben, um Listen/Arrays von Dingen mit einem Trennzeichen zu einer Zeichenfolge zu verbinden

public static <T> String join(Iterable<T> collection, String delimiter) {
    Iterator<T> iterator = collection.iterator();
    if (!iterator.hasNext())
        return "";

    StringBuilder builder = new StringBuilder();

    T thisVal = iterator.next();
    builder.append(thisVal == null? "": thisVal.toString());

    while (iterator.hasNext()) {
        thisVal = iterator.next();
        builder.append(delimiter);
        builder.append(thisVal == null? "": thisVal.toString());
    }

    return builder.toString();
}

Die Verwendung von iterable bedeutet, dass Sie entweder eine ArrayList oder ähnliches eingeben und sie mit a verwenden können String... Parameter ohne konvertieren zu müssen.

Benutzer-Avatar
Philipp Marschall

java.util.Arrays.asList(new String[]{"a", "b"})

1225360cookie-checkJava: So konvertieren Sie Strings[] zum Auflisten oder Festlegen [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy