question_019-JAVA之Map之TreeMap案例
来源:互联网 发布:java message类 编辑:程序博客网 时间:2024/05/16 01:58
JAVA之
Map之
TreeMap案例
--------------------------------------------------
1)给定字符串,获取字符串中每一个字母出现的次数。
如下:
····················································
package cn.itcast_05;
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:拿刚才得到的字符作为键到集合中去找值,看返回值
* 是null:说明该键不存在,就把该字符作为键,1作为值存储
* 不是null:说明该键存在,就把值加1,然后重写存储该键和值
* F:定义字符串缓冲区变量
* G:遍历集合,得到键和值,进行按照要求拼接
* H:把字符串缓冲区转换为字符串输出
*/
public class TreeMapDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String line = sc.nextLine();
// 定义一个TreeMap集合
// Character 和Char的区别,基本类型和引用类型
TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();
//把字符串转换为字符数组
char[] chs = line.toCharArray();
for(char ch : chs){
//拿刚才得到的字符作为键到集合中去找值,看返回值
Integer i = tm.get(ch);
//是null:说明该键不存在,就把该字符作为键,1作为值存储
if(i == null){
tm.put(ch, 1); // 放入map集合中
}else { // 不是null:说明该键存在,就把值加1,然后重写存储该键和值
i++;
tm.put(ch,i);
}
}
// 字符串的遍历和拼接
StringBuilder sb= new StringBuilder();
//遍历集合,得到键和值
Set<Character> set = tm.keySet();
for(Character key : set){
Integer value = tm.get(key);
sb.append(key).append("(").append(value).append(")");
}
String result = sb.toString();
System.out.println("result:"+result);
}
}
··············结果·························
请输入一个字符串:
wanmeishijie123
result:1(1)2(1)3(1)a(1)e(2)h(1)i(3)j(1)m(1)n(1)s(1)w(1)
···········································
- question_019-JAVA之Map之TreeMap案例
- java基础:Map之TreeMap
- 集合之TreeMap案例
- Java-集合框架Map之HashMap、TreeMap
- Java基础-Map集合之TreeMap
- question_018-JAVA之Map之TreeMap键为自定义对象
- 数据结构Map之TreeMap分析
- Java基础之集合框架(三)--Map、HashMap、TreeMap
- Java基础之集合框架(三)--Map、HashMap、TreeMap
- 【Java集合之Map】HashMap、HashTable、TreeMap、LinkedHashMap区别
- java 中Map 常用的子类 之 TreeMap
- Java集合之五Map、HashMap、LinkedHashMap、TreeMap、Properties
- java collection 之 TreeMap
- Java集合之TreeMap
- Java学习之TreeMap
- java之TreeMap
- java集合之TreeMap
- java数据结构之TreeMap
- Android学习笔记----在一个应用程序中启动另一个应用程序
- Java/Android中线程池的应用
- [2009国家集训队]小Z的袜子(hose)(莫队算法)
- 02-2016面试准备
- Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】
- question_019-JAVA之Map之TreeMap案例
- border 属性
- 多线程通识
- 使用文本编辑器
- Apache shutdown unexpectedly启动错误解决方法
- C++时间相关ctime
- SAP 如何从表中区分内外向交货单
- 23种设计模式
- 一个Oracle GeoSQL性能问题解决过程