Dans ma chaîne, je peux avoir un nombre arbitraire de mots séparés par des virgules. Je voulais que chaque mot soit ajouté dans une ArrayList. Par exemple:
String s = "a,b,c,d,e,.........";
Essayez quelque chose comme
List<String> myList = new ArrayList<String>(Arrays.asList(s.split(",")));
Arrays.asList
DocumentationString.split
DocumentationArrayList(Collection)
documentation du constructeurDémo:
String s = "lorem,ipsum,dolor,sit,amet";
List<String> myList = new ArrayList<String>(Arrays.asList(s.split(",")));
System.out.println(myList); // prints [lorem, ipsum, dolor, sit, amet]
Cet article a été réécrit sous forme d'article ici .
new ArrayList<String>()
peut être redondant selon la manière dont il est utilisé. (comme dans votre exemple;)split
sien après: PArrays.toString()
pour l'imprimer, mais oui.la source
replace = s1.replaceAll("^\\[|]$", "");
Option 1 :
Option 2 :
À mon avis, Option1 est meilleure car
asList
méthode crée et renvoie un objet ArrayList.Veuillez vous référer à la documentation ici
la source
List<Character> word1 = new ArrayList<Character>(Arrays.asList(A[0].toCharArray()));
J'essaie d'obtenir la première chaîne d'un tableau de chaînes et de convertir cette chaîne en charArray et ce charArray en List <Character>Dans Java 9, l'utilisation
List#of
, qui est une liste immuable des méthodes statiques d'usine, devient plus simple.la source
s.split("\\s*,\\s*")
peut être ajouté pour des soins supplémentairesSi vous importez ou si vous avez un tableau (de type string) dans votre code et que vous devez le convertir en arraylist (chaîne offcourse), alors l'utilisation des collections est meilleure. comme ça:
la source
Ok, je vais étendre les réponses ici car beaucoup de gens qui viennent ici veulent diviser la chaîne par un espace . Voici comment procéder:
la source
Vous pouvez utiliser:
Vous devriez vous demander si vous avez vraiment besoin de ArrayList en premier lieu. Très souvent, vous allez filtrer la liste en fonction de critères supplémentaires, pour lesquels un Stream est parfait. Vous voudrez peut-être un ensemble; vous voudrez peut-être les filtrer au moyen d'une autre expression régulière, etc. Java 8 fournit cette extension très utile, d'ailleurs, qui fonctionnera sur n'importe quel
CharSequence
: https://docs.oracle.com/javase/8/docs/api /java/util/regex/Pattern.html#splitAsStream-java.lang.CharSequence- . Puisque vous n'avez pas du tout besoin du tableau, évitez de le créer ainsi:la source
Si vous souhaitez convertir une chaîne en ArrayList, essayez ceci:
Mais je vois un tableau de chaînes dans votre exemple, donc si vous souhaitez convertir un tableau de chaînes en ArrayList, utilisez ceci:
la source
Plus facile à comprendre, c'est comme ça:
la source
Ceci utilise Gson à Kotlin
la source
Prenons une question: inverser une chaîne. Je vais le faire en utilisant stream (). Collect (). Mais d'abord, je changerai la chaîne en ArrayList.
la source
Je recommande d'utiliser le StringTokenizer, c'est très efficace
la source
Si vous utilisez de la goyave (et vous devriez l'être, consultez l' élément java efficace n ° 15 ):
la source