如何检查两个字符串中的字符是相同的?
如何理解这道题呢?比如说,字符串“沉默王二”和“沉王二默”就用了同样的字符,对吧?比如说,字符串“沉默王二”和“沉默王三”用的字符就不同,理解了吧?
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)); } }
输出结果如下所示:
[默, 沉, 王, 二] [默, 沉, 王, 二] true [默, 沉, 王, 二] [默, 沉, 三, 王] false
上面的代码用到了 Stream 流,看起来很陌生,但很好理解,就是把字符串拆成字符,然后收集到 Set 中,Set 是一个不允许有重复元素的集合,所以就把字符串中的不同字符收集起来了。
以上是java如何检查两个字符串中的字符是相同的的详细内容。更多信息请关注PHP中文网其他相关文章!