Comment vérifier que les caractères de deux chaînes sont les mêmes ?
Comment comprendre cette question ? Par exemple, les chaînes « Silent Wang Er » et « Shen Wang Ermo » utilisent les mêmes caractères, n'est-ce pas ? les chaînes "Silent Wang 2" et "Silent Wang 3" utilisent des caractères différents, comprenez-vous ?
public class CheckSameCharsInString { public static void main(String[] args) { sameCharsStrings("沉默王二", "沉王二默"); sameCharsStrings("沉默王二", "沉默王三"); } private static void sameCharsStrings(String s1, String s2) { Set<Character> set1 = s1.chars().mapToObj(c -> (char) c).collect(Collectors.toSet()); System.out.println(set1); Set<Character> set2 = s2.chars().mapToObj(c -> (char) c).collect(Collectors.toSet()); System.out.println(set2); System.out.println(set1.equals(set2)); } }
Le résultat de sortie est le suivant :
[默, 沉, 王, 二] [默, 沉, 王, 二] true [默, 沉, 王, 二] [默, 沉, 三, 王] false
Le code ci-dessus utilise le flux Stream, ce qui semble très étrange, mais il. est facile à comprendre, il s'agit de diviser la chaîne en caractères, puis de les collecter dans Set. Set est un ensemble qui n'autorise pas les éléments en double, donc différents caractères de la chaîne sont collectés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!