package com.phone.week4;
import java.util.TreeMap;
public class TestTreeMap2 {
public static void main(String[] args) {
//sdfgzxcvasdfxcvdf"获取该字符串中的每个字母出现的次数。
//希望打印结果a(1)c(2).....按照字母自然顺序打印
String str = "s2dfgzxc4va6df4xcvdf";
char c[] = new char[str.length()];
//1.把字符串拆分成字符数组
for (int i = 0; i <str.length(); i++) {
c[i] = str.charAt(i);
}
//2.把字符数组往TreeMap里存
TreeMap<Character, Integer> tm = new TreeMap<>();
//循环字符数组,拿出每个字符往集合里放
for (int i = 0; i < c.length; i++) {
char ch = c[i]; //得到每个字符
//如果是数字就不往集合里添加
if(Character.isDigit(ch)){
continue;
}
boolean flag = tm.containsKey(ch); //根据键来判断
if(flag==true){
//表示集合里已经有这个键了
//如果有就把这个键对应的值拿出来,并且加1,然后再存进去
int count = tm.get(ch);
count++;
tm.put(ch, count);
}else{
tm.put(ch, 1);
}
}
//把集合里的健值变成一个字符串
StringBuilder sb = new StringBuilder();
for (char d : tm.keySet()) {
sb.append(d+"("+tm.get(d)+")");
}
System.out.println(sb);
}
}
package com.phone.week4;
import java.util.TreeMap;
public class TestTreeMap2 {
public static void main(String[] args) {
String str = "s2dfgzxc4va6df4xcvdf";
//把字符串转成字符数组
char c[] = str.toCharArray(); //字符型数组就出来了
TreeMap<Character, Integer> map = new TreeMap<>(); //创建一个TreeMap集合
//循环字符数组,往集合里放
for (int i = 0; i < c.length; i++) {
char ch = c[i]; //得到每个字符
//判断字符是不是数字,如果是就不往集合里放
if(Character.isDigit(ch)){
continue;
}
//拿着字符到集合去判断有没有这个键
if(map.containsKey(ch)){
//取出这个键所以对应的值
int count = map.get(ch)+1;
map.put(ch, count); //在存入一遍
}else{
map.put(ch, 1); //第一次存值就是1
}
}
StringBuffer sb = new StringBuffer();
for (char d : map.keySet()) {
sb.append(d+"("+map.get(d)+")");
}
System.out.println(sb.toString());
}
private static void test1() {
//sdfgzxcvasdfxcvdf"获取该字符串中的每个字母出现的次数。
//希望打印结果a(1)c(2).....按照字母自然顺序打印
String str = "s2dfgzxc4va6df4xcvdf";
char c[] = new char[str.length()];
//1.把字符串拆分成字符数组
for (int i = 0; i <str.length(); i++) {
c[i] = str.charAt(i);
}
//2.把字符数组往TreeMap里存
TreeMap<Character, Integer> tm = new TreeMap<>();
//循环字符数组,拿出每个字符往集合里放
for (int i = 0; i < c.length; i++) {
char ch = c[i]; //得到每个字符
//如果是数字就不往集合里添加
if(Character.isDigit(ch)){
continue;
}
boolean flag = tm.containsKey(ch); //根据键来判断
if(flag==true){
//表示集合里已经有这个键了
//如果有就把这个键对应的值拿出来,并且加1,然后再存进去
int count = tm.get(ch);
count++;
tm.put(ch, count);
}else{
tm.put(ch, 1);
}
}
//把集合里的健值变成一个字符串
StringBuilder sb = new StringBuilder();
for (char d : tm.keySet()) {
sb.append(d+"("+tm.get(d)+")");
}
System.out.println(sb);
}
}