Itération des caractères de la chaîne de caractères en Java
-
Utilisez
String.chars()
en Java 8 pour itérer sur tous les caractères d’une chaîne -
Utiliser
String.codePoints()
Java 8 pour boucler tous les caractères d’une chaîne en Java -
Utilisez
String.toCharArray()
pour boucler tous les caractères d’une chaîne en Java -
Utilisez
StringCharacterIterator
pour itérer tous les caractères d’une chaîne en Java -
Utilisez
String.split()
pour boucler tous les caractères d’une chaîne en Java
Cet article présente différentes méthodes pour itérer sur chaque caractère d’une chaîne de caractères en Java.
Utilisez String.chars()
en Java 8 pour itérer sur tous les caractères d’une chaîne
Java 8 nous fournit une nouvelle méthode String.chars()
qui retourne un IntStream
. Le IntStream
renvoyé contient une représentation entière des caractères de la chaîne. Ici, nous obtenons le stream1
à partir de myString.chars()
.
Nous mettons en correspondance le IntStream
renvoyé avec un objet. Le stream1.mapToObj()
convertit les valeurs entières en leur équivalent en caractères respectifs. Cependant, pour afficher et lire les caractères, nous devons les convertir en une forme de caractère conviviale.
import java.util.stream.IntStream;
public class ForEachChar {
public static void main(String[] args) {
String myString = "Hello There!";
String myString2 = "My Friends";
String myString3 = "Happy Coding";
IntStream stream1 = myString.chars();
IntStream stream2 = myString2.chars();
IntStream stream3 = myString3.chars();
stream1.mapToObj(Character::toChars).forEach(System.out::print);
System.out.println("");
stream2.mapToObj(i -> new Character((char) i)).forEach(System.out::print);
System.out.println("");
stream3.forEach(i -> System.out.print(Character.toChars(i)));
}
}
Production :
Hello There!
My Friends
Happy Coding
Utiliser String.codePoints()
Java 8 pour boucler tous les caractères d’une chaîne en Java
Java 8 String.codePoints()
renvoie un IntStream
de points de code Unicode de cette séquence. Il renvoie les valeurs ASCII
du caractère passé.
Nous pouvons mapper le IntStream
retourné à un objet en utilisant stream.mapToObj
de façon à ce qu’il soit automatiquement converti en un Stream<Character>
. Nous utilisons la référence de la méthode et imprimons chaque caractère dans la chaîne spécifiée.
import java.util.stream.IntStream;
public class ForEachChar {
public static void main(String[] args) {
String myString = "Happy Coding";
IntStream stream = myString.codePoints();
stream.mapToObj(Character::toChars).forEach(System.out::print);
}
}
Production :
Happy Coding
Utilisez String.toCharArray()
pour boucler tous les caractères d’une chaîne en Java
La méthode String.toCharArray()
convertit la chaîne donnée en une séquence de caractères. Elle renvoie un tableau de caractères dont la longueur est similaire à celle de la chaîne.
Pour itérer sur chaque caractère d’une chaîne, nous pouvons utiliser toCharArray()
et afficher chaque caractère.
public class ForEachChar {
public static void main(String[] args) {
String myString = "Hello Friends";
char[] chars = myString.toCharArray();
int len = chars.length;
System.out.println("length of the char array: " + len);
for (char ch : chars) {
System.out.println(ch);
}
}
}
Production :
length of the char array: 13
H
e
l
l
o
F
r
i
e
n
d
s
Utilisez StringCharacterIterator
pour itérer tous les caractères d’une chaîne en Java
La classe StringCharacterIterator
implémente une itération bidirectionnelle de la chaîne. Elle prend comme paramètre une chaîne de caractères, qui construit un itérateur avec un indice initial de 0.
Dans la boucle while
, nous appelons current()
sur l’itérateur it
, qui renvoie le caractère à la position courante ou renvoie DONE
si la position courante est la fin du texte.
La méthode next()
sur it
renvoie le caractère à la nouvelle position ou DONE
si la nouvelle position est la fin.
import java.text.CharacterIterator;
import java.text.StringCharacterIterator;
public class ForEachChar {
public static void main(String[] args) {
String myString = "Hello Friends";
CharacterIterator it = new StringCharacterIterator(myString);
while (it.current() != CharacterIterator.DONE) {
System.out.print(it.current());
it.next();
}
}
}
Production :
Hello Friends
Utilisez String.split()
pour boucler tous les caractères d’une chaîne en Java
La méthode String.split()
fractionne la chaîne de caractères en fonction de l’expression régulière donnée et renvoie un nouveau tableau.
Dans le code ci-dessous, nous utilisons myString.split("")
pour diviser la chaîne entre chaque caractère. Nous pouvons itérer chaque caractère de la str_arr
et l’afficher.
public class ForEachChar {
public static void main(String[] args) {
String myString = "Hello Friends";
String[] str_arr = myString.split("");
for (String ch : str_arr) {
System.out.print(ch);
}
}
}
Production :
Hello Friends
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInArticle connexe - Java String
- Comment effectuer une conversion de chaîne en chaîne en Java
- Comment supprimer une sous-chaîne d'une chaîne en Java
- Comment convertir un tableau d'octets en chaîne hexadécimale en Java
- Comment convertir une chaîne Java en octet
- Générer une chaîne aléatoire en Java
- La méthode d'échange à Java