Java中统计字符个数以及反序非相同字符的方法详解

时间:2021-05-20

复制代码 代码如下:
import java.util.ArrayList;
import java.util.List;
public class Test2 {
/**
* @param args
*/
public static void main(String[] args) {
String src = "A B C D E B C";
//替换掉空格
src = src.replaceAll(" ", "") ;

System.out.println("去除空格后字符串:" + src) ;
List<Character> list = new ArrayList<Character>() ;
int[] bb = new int[256];
char[] cs = src.toCharArray();

//倒序
int mid = cs.length / 2 ;
int idx = cs.length -1 ;
for (int i = 0; i < mid ; i++){
char tmp = cs[i] ;
cs[i] = cs[idx] ;
cs[idx] = tmp ;
idx-- ;
}
//统计,并且过滤相同的
for (char c : cs) {
if (bb[c] <1) {
list.add(c) ;
}
bb[c] = bb[c] + 1;
}
System.out.println();
for (int i = 0; i < list.size(); i++){
System.out.print(list.get(i)) ;
}
System.out.println() ;

for (int i = 0; i < list.size(); i++){
char c = list.get(i) ;

System.out.println(c + " " + bb[c] + "次") ;
}

}
}

String a = "abcd,efg";
String b = ")(*&^%$#@![]{},.//;:'? <>";
要求是判断String a 里有没有哪个字符在String b里出现 ,效率越高越好

* 查找某些字符是否在另一个字符串里出现
复制代码 代码如下:
*
* @author Java人(java2000.net)
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
String a = "abcd,efg";
String b = ")(*&^%$#@![]{},.///;:'? <>";
byte[] bb = new byte[256];
char[] cs = b.toCharArray();
for (char c : cs) {
bb[c] = 1;
}
cs = a.toCharArray();
for (char c : cs) {
if (bb[c] == 1) {
System.out.println(c);
}
}
}
}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章