TreeMap类

import java.util.Set;
import java.util.TreeMap; public class IntegerDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub TreeMap<String, String> tm = new TreeMap<String, String>(); tm.put("hello", "world");
tm.put("java", "c++");
tm.put("sql", "os"); System.out.println(tm); Set<String> set = tm.keySet(); for (String key : set) {
String value = tm.get(key);
System.out.println(key + "---" + value);
}
}
}

/*
* 要求:"aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)
*
* 分析:
* A:定义一个字符串
*
* B:定义一个TreeMap集合
* 键:Character
* 值:Integer
*
* C:把字符串转换为字符数组
*
* D:遍历字符串数组,得到每一个字符
*
* E:将D得到的字符作为键拿到集合查询,看返回值
* 是null,说明键不存在,就把该字符作为键,1作为值存储
* 不是null,说明键存在,把值加1,然后重写存储该键和值
*
* F:定义字符串缓冲区变量
*
* G:遍历集合,得到键和值,进行字符串拼接
*
* H:输出字符串
* */

import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap; /*
* 要求:"aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)
*
* 分析:
* A:定义一个字符串
*
* B:定义一个TreeMap集合
* 键:Character
* 值:Integer
*
* C:把字符串转换为字符数组
*
* D:遍历字符串数组,得到每一个字符
*
* E:将D得到的字符作为键拿到集合查询,看返回值
* 是null,说明键不存在,就把该字符作为键,1作为值存储
* 不是null,说明键存在,把值加1,然后重写存储该键和值
*
* F:定义字符串缓冲区变量
*
* G:遍历集合,得到键和值,进行字符串拼接
*
* H:输出字符串
* */ public class IntegerDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub // A:定义一个字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String line = sc.nextLine(); // B:定义一个TreeMap集合
TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>(); // C:把字符串转换为字符数组
char chs[] = line.toCharArray(); // D:遍历字符串数组,得到每一个字符
for (char ch : chs) {
// E:将D得到的字符作为键拿到集合查询,看返回值
Integer i = tm.get(ch);
if (i != null) {
i++;
tm.put(ch, i);
} else {
tm.put(ch, 1);
}
} // F:定义字符串缓冲区变量
StringBuilder sb = new StringBuilder(); // G:遍历集合,得到键和值,进行字符串拼接
Set<Character> set = tm.keySet();
for (Character key : set) {
Integer value = tm.get(key);
sb.append(key).append("(").append(value).append(")");
} // H:输出字符串
String result = sb.toString();
System.out.println(result);
}
}

最新文章

  1. PHP (sendmail / PHPMailer / ezcMailComposer)发送邮件
  2. Java的日期工具类
  3. 做一个会PS切图的前端开发
  4. Bootstrap学习笔记系列1-------Bootstrap网格系统
  5. React中props.children和React.Children的区别
  6. [转]silverlight Datagrid 行上增加ToolTip
  7. spring 管理 jdbc 事务
  8. JVM的GC理论详解
  9. jquery mobile 学习总结
  10. gulp&amp;gulp-less
  11. HBase多条件筛选查询方案
  12. 通过autofac教你彻底明白依赖解耦(二)理论结合实践 - 大侠.Net
  13. FastDFS分布文件系统[转]
  14. ecshop 商店设置,新增或者修改字段
  15. Android(java)学习笔记236:多媒体之加载大图片到内存(Bitmap API)
  16. [Unit Testing] Angular Test component with required
  17. 第六十八节,htnl全局属性和其他属性
  18. phpcms笔记
  19. .NET尝试访问某方法失败
  20. MySql在windows上的安装

热门文章

  1. 使用GET与POST方式获取html数据
  2. 奇葩的狐火浏览器border属性
  3. UEditor使用报错Cannot set property &#39;innerHTML&#39; of undefined
  4. 使nginx归于systemd管理
  5. Educational Codeforces Round 68 (Rated for Div. 2) C. From S To T (字符串处理)
  6. ssh修改超时自动登出时间的方法
  7. 失控的未来交通工具 (LOJ 508,带权并查集,数论)
  8. linux服务器安全配置攻略
  9. wepy-开发总结(功能点)
  10. 为何使用Shell脚本