Comment convertir String [] (Array) en Collection, comme ArrayList ou HashSet?
Arrays.asList () ferait l'affaire ici.
String[] words = {"ace", "boom", "crew", "dog", "eon"};
List<String> wordList = Arrays.asList(words);
Pour convertir en Set, vous pouvez faire comme ci-dessous
Set<T> mySet = new HashSet<T>(Arrays.asList(words));
Le moyen le plus simple serait:
String[] myArray = ...;
List<String> strs = Arrays.asList(myArray);
en utilisant la classe pratique Arrays . Notez que vous pouvez même faire
List<String> strs = Arrays.asList("a", "b", "c");
Collections.addAll fournit le reçu le plus court (une ligne)
Ayant
String[] array = {"foo", "bar", "baz"};
Set<String> set = new HashSet<>();
Vous pouvez faire comme ci-dessous
Collections.addAll(set, array);
Si vous voulez vraiment utiliser un ensemble:
String[] strArray = {"foo", "foo", "bar"};
Set<String> mySet = new HashSet<String>(Arrays.asList(strArray));
System.out.println(mySet);
sortie:
[foo, bar]
Bien que cela ne soit pas strictement une réponse à cette question, je pense que c'est utile.
Les tableaux et les collections peuvent être convertis en Iterable, ce qui vous évite d'avoir à effectuer une conversion difficile.
Par exemple, j'ai écrit ceci pour joindre des listes/tableaux de choses dans une chaîne avec un séparateur
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();
}
Utiliser iterable signifie que vous pouvez soit introduire une ArrayList ou similaire, soit l’utiliser avec un String...
paramètre sans avoir à convertir non plus.
Java.util.Arrays.asList(new String[]{"a", "b"})
C'est un vieux code, essayez quand même:
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);
}
}
}
Le plus simple est par
Arrays.asList(stringArray);
String[] w = {"a", "b", "c", "d", "e"};
List<String> wL = Arrays.asList(w);