如何检查两个字符串中的字符是相同的?
如何理解这道题呢?比如说,字符串“沉默王二”和“沉王二默”就用了同样的字符,对吧?比如说,字符串“沉默王二”和“沉默王三”用的字符就不同,理解了吧?
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如何检查两个字符串中的字符是相同的的详细内容。