convertit une chaîne de arraylist <Personnage> en java
Comment convertir une Chaîne de caractères sans séparateur à un ArrayList<Character>
.
Ma Chaîne, c'est comme cela:
String str = "abcd..."
Je connais une façon de le faire est de convertir la Chaîne de char[]
d'abord, et ensuite de les convertir au char []
à ArrayList <Character>
.
Est-il une meilleure façon de le faire? comme la conversion directement? Compte tenu du temps et de la performance, parce que je suis de codage avec une grosse base de données.
Alors...voulez-vous de prendre l'implicite de la chaîne et de convertir chaque caractère d'une collection de quelque sorte? Si c'est le cas, qu'avez-vous essayé? Un exemple de code serait bénéfique.
Voulez-vous vraiment à se convertir à
J'ai essayé de 'char [] chars = str.toCharArray (); ArrayList <Personnage> maliste = new ArrayList <Personnage> (); for (char c : caractères) maliste.add (c);'
J'ai vraiment envie de le convertir à la liste de tableaux
Comme je l'ai mentionné ci-dessous, votre code ne semble pas fonctionner.
Voulez-vous vraiment à se convertir à
ArrayList
ou tout simplement enrouler une ficelle dans List
soutenu par la chaîne d'origine?J'ai essayé de 'char [] chars = str.toCharArray (); ArrayList <Personnage> maliste = new ArrayList <Personnage> (); for (char c : caractères) maliste.add (c);'
J'ai vraiment envie de le convertir à la liste de tableaux
Comme je l'ai mentionné ci-dessous, votre code ne semble pas fonctionner.
OriginalL'auteur Pan Long | 2013-03-11
Vous devez vous connecter pour publier un commentaire.
Vous devez l'ajouter comme cela.
Mis à jour il.
Cela devrait fonctionner :), mais comme je l'ai mentionné, vous avez converti la chaîne en un tableau de char d'abord, et ensuite ajouté un par un pour obtenir la liste de tableaux. J'envisage l'espace et dans le temps des coûts alors que la chaîne est très grande et le nombre de cordes est également énorme dans une base de données.
Hmm, eh bien si vous vous aventurez hors dans une troisième partie les bibliothèques, je ne suis pas sûr qu'il y est un moyen de contourner cela. Beats moi au moins!
En fin de compte, l'efficacité d'une boucle sur compilé en byte code sera optimisée par la machine virtuelle, j'en suis sûr. La seule façon de le savoir serait de choisir des méthodes et de jouer avec elle.
OriginalL'auteur squiguy
utiliser l'expression lambda pour ce faire.
OriginalL'auteur Rahmat Waisi
Si vous dn est pas nécessaire de modifier la liste après qu'il a créé, sans doute la meilleure façon serait d'enrouler une ficelle dans la classe de mise en œuvre de
List<Character>
interface comme ceci:Et ensuite utiliser cette classe comme ceci:
OriginalL'auteur Mikhail Vladimirov
Désolé pour le Retrobump, mais c'est très facile!
Vous pouvez le faire facilement en Java 8 à l'aide de Flux de! Essayez ceci:
Vous devez utiliser
mapToObj
parce quechars()
retourne unIntStream
.OriginalL'auteur Leo Izen
OriginalL'auteur Biswajit
vous pouvez le faire comme ceci:
OriginalL'auteur Ely
Il y a une ligne goyave solution:
Vous pouvez passer résultant
ImmutableList
au constructeur de l'ArrayList
mais puis-je demander pourquoi avez-vous besoin exactement ArrayList?OriginalL'auteur cardamo