Java中统计字符个数的方法详解
在Java中可以使用几种方法来统计字符串中字符的个数,下面介绍一些常用的方法。
1.使用for循环
可以使用for循环遍历字符串,逐个判断字符是否相同或满足某些条件,从而统计字符个数。
示例代码:
public int countChar(String str, char c) {
int count = 0;
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == c) {
count++;
}
}
return count;
}
该示例代码中,使用for循环遍历字符串,每次判断字符串中的某个字符是否与指定字符c相等,如果相等则计数count加1。最后返回计数结果即可。
2.使用stream流
Java 8中新增的stream流可以方便地对集合进行操作,也可以用来统计字符个数。
示例代码:
public long countChar(String str, char c) {
return str.chars().filter(ch -> ch == c).count();
}
该示例代码中,使用str.chars()将字符串转为字节流,然后使用filter对流中的每个元素进行过滤,只保留与指定字符c相等的元素,最后使用count()方法统计元素个数并返回。
Java中反序非相同字符的方法详解
在Java中可以使用几种方法来反序非相同字符,下面介绍一些常用的方法。
1.将字符转为字符数组
首先需要将字符串转为字符数组,然后遍历数组,将不重复的字符加入新的字符数组中,最后反转新的字符数组并将其转为字符串即可。
示例代码:
public String reverseString(String str) {
char[] chars = str.toCharArray();
char[] nonRepeat = new char[chars.length];
int count = 0;
for (int i = 0; i < chars.length; i++) {
if (new String(nonRepeat).indexOf(chars[i]) == -1) {
nonRepeat[count++] = chars[i];
}
}
char[] result = new char[count];
for (int i = 0; i < count; i++) {
result[i] = nonRepeat[count - 1 - i];
}
return new String(result);
}
该示例代码中,首先将字符串转为字符数组,然后再定义一个字符数组nonRepeat用于存储不重复的字符,使用count变量记录不重复字符个数。接着使用for循环遍历字符数组,将所有不重复的字符存入nonRepeat数组中。最后,定义一个新的长度为count的字符数组result,将nonRepeat数组倒序遍历并存入result数组中,最后将result数组转为字符串并返回。
2.使用LinkedHashSet
可以使用LinkedHashSet来存储字符集合,在元素逐个插入时保证顺序,且不允许重复元素。最终将集合遍历转为字符串即可。
示例代码:
public String reverseString(String str) {
char[] chars = str.toCharArray();
Set<Character> set = new LinkedHashSet<>();
for (char ch : chars) {
set.add(ch);
}
StringBuilder builder = new StringBuilder();
for (Character ch : set) {
builder.append(ch);
}
return builder.reverse().toString();
}
该示例代码中,首先将字符串转为字符数组,然后创建一个LinkedHashSet集合来存储字符,遍历字符数组将字符一个个添加到集合中。接着使用StringBuilder遍历集合,将集合中的字符逐个拼接到StringBuilder中。最后将StringBuilder反转并转为字符串返回即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中统计字符个数以及反序非相同字符的方法详解 - Python技术站