import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.TreeSet;
public class JavaTest1 {
public static void main(String[] args) {
String input = "aavzsada dwerosd fiefjsjsdfn,jash";
new JavaTest1().doString(input);
}
public void doString(String input){
char[] chars = input.toCharArray();//将字符串转化成字符数组
ArrayList<String> lists = new ArrayList<String>();//list一个index对应一个值(值可重复)
TreeSet<String> set = new TreeSet<String>();//set是集合,特点是元素无重复
for(int i = 0; i < chars.length; i++){
lists.add(String.valueOf(chars[i]));
set.add(String.valueOf(chars[i]));
}
System.out.println(set);
Collections.sort(lists);//sort()对Arraylist按照unicode编码顺序排序
System.out.println(lists);
StringBuffer sb = new StringBuffer();
for(int i = 0; i < lists.size(); i++){
sb.append(lists.get(i));//将字符数组组合成字符串
}
input = sb.toString();
System.out.println(input);
int max = 0;//最大长度
String maxString = "";
ArrayList<String> maxlist = new ArrayList<String>();//存放最多的字符
Iterator<String> its = set.iterator();//Iterator迭代器,每次自动取下一个集合里的值
while(its.hasNext()){
String os = (String) its.next();
int begin = input.indexOf(os);//取第一个os所在下标
int end = input.lastIndexOf(os);//取最后一个os所在下标
int value = end - begin + 1;//测出长度
if(value > max){
max = value;
maxString = os;
maxlist.add(os);
}else if(value == max){
maxlist.add(os);
}
}
System.out.print("max data ");
for(int i = 1; i < maxlist.size();i++){
System.out.print(maxlist.get(i)+" ");
}
System.out.println();
System.out.println("max "+max);
}
}
求字符串中出现次数最多的字母及次数
最新推荐文章于 2024-03-16 18:34:33 发布