刚才上网,看到这个问题在好多论坛上得到很大的讨论,于是尝试练习了一下。
【问题描述】
对于两个字符串,判定包含的字符是否完全相同。比如:"sabac"和 "basca"算是包含的字符完全相同,并且相同字符的数量也一样要相同,但它们顺序可以不一样。
【问题分析】
1.先判断两个字符串的长度是否相同
2. 判断相同长度的字符串中的字符和相同字符的数量是否相同。
3. 判断字符时,先把字符串切割成字符串数组,然后对字符数据排序,接着把两个字符串对应的字符进行比对。
【代码实现】
public boolean isIncludeSameChar(String str1, String str2) {
boolean flag = true;
if (str1.length() != str2.length()) {
flag = false;
} else {
char[] str1Arr = str1.toCharArray();
Arrays.sort(str1Arr);
char[] str2Arr = str2.toCharArray();
Arrays.sort(str2Arr);
for (int i = 0; i < str2Arr.length; i++) {
if (str2Arr[i] == str1Arr[i]) {
continue;
} else {
flag = false;
}
}
}
return flag;
}
相同返回true,否则返回false;