泛型——练习
来源:互联网 发布:淘宝里的名字怎么改 编辑:程序博客网 时间:2024/06/06 03:42
package cn.jason.test;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
public class Test {
public static void main(String[] args) {
/*
* 练习:"basdfghrunjbasyufhnrksfa"
* 获取字符串中每一个字母出现的次数。要求格式:a(2)b(1)c(3)....
*/
String str = "basd@fg$hr%un!jb_asy-ufhnrksfa";
String char_count = getCharCount(str);
System.out.println(char_count);
}
* 练习:"basdfghrunjbasyufhnrksfa"
* 获取字符串中每一个字母出现的次数。要求格式:a(2)b(1)c(3)....
*/
String str = "basd@fg$hr%un!jb_asy-ufhnrksfa";
String char_count = getCharCount(str);
System.out.println(char_count);
}
private static String getCharCount(String str) {
//1.将字符串转成字符数组
char[] chs = str.toCharArray();
//2.定义map集合
Map<Character,Integer> map = new TreeMap<Character,Integer>();
//3.遍历字符数组,获取每一个字母
for (int i = 0; i < chs.length; i++) {
//只对字母操作
if(!(chs[i]>='a'&&chs[i]<='z'||chs[i]>='A'&&chs[i]<='Z'))
continue;//跳出本次循环,继续下一次循环
//将遍历到的字母作为键去查表,获取值
Integer value = map.get(chs[i]); //map.get()第一次就会显示null
int count = 0; //用于记录次数
//如果次数存在,就用count记录该次数。如果次数不存在,就不记录,只对count自增变成1
if(value!=null){
count = value;
}
count++;
map.put(chs[i],count);
/*if(value==null){
map.put(chs[i], 1);
}else{
value++;
map.put(chs[i], value);
}*/
}
return toString(map);
}
//1.将字符串转成字符数组
char[] chs = str.toCharArray();
//2.定义map集合
Map<Character,Integer> map = new TreeMap<Character,Integer>();
//3.遍历字符数组,获取每一个字母
for (int i = 0; i < chs.length; i++) {
//只对字母操作
if(!(chs[i]>='a'&&chs[i]<='z'||chs[i]>='A'&&chs[i]<='Z'))
continue;//跳出本次循环,继续下一次循环
//将遍历到的字母作为键去查表,获取值
Integer value = map.get(chs[i]); //map.get()第一次就会显示null
int count = 0; //用于记录次数
//如果次数存在,就用count记录该次数。如果次数不存在,就不记录,只对count自增变成1
if(value!=null){
count = value;
}
count++;
map.put(chs[i],count);
/*if(value==null){
map.put(chs[i], 1);
}else{
value++;
map.put(chs[i], value);
}*/
}
return toString(map);
}
/*
* 将map集合中的元素转成指定格式的字符串
*/
private static String toString(Map<Character, Integer> map) {
//1.数据多,无论类型是什么,最终都要变成字符串。所以可以使用StringBuilder !!!
StringBuilder sb = new StringBuilder();
//2.遍历集合map。keySet
Set<Character> keySet = map.keySet();
for(Iterator<Character> it = keySet.iterator();it.hasNext();)
{
Character key = it.next();
Integer value = map.get(key);
//将键值存入sb中
sb.append(key+"("+value+")");
}
return sb.toString();
}
* 将map集合中的元素转成指定格式的字符串
*/
private static String toString(Map<Character, Integer> map) {
//1.数据多,无论类型是什么,最终都要变成字符串。所以可以使用StringBuilder !!!
StringBuilder sb = new StringBuilder();
//2.遍历集合map。keySet
Set<Character> keySet = map.keySet();
for(Iterator<Character> it = keySet.iterator();it.hasNext();)
{
Character key = it.next();
Integer value = map.get(key);
//将键值存入sb中
sb.append(key+"("+value+")");
}
return sb.toString();
}
}
阅读全文
0 0
- 泛型——练习
- jQuery练习5——val()练习
- 函数——练习
- 练习——ArrayList
- 练习——LinkedList
- 练习——HashMap
- 继承——练习
- 蓝桥杯练习—1
- 情景模式—TabHostl练习
- SQL练习—2
- SQL练习—4
- 单链表—练习
- 蓝桥杯练习系统——基础练习 十六进制转十进制
- 编码练习——Java-String-API-练习
- 编码练习——Java-数组-API-练习
- 蓝桥杯练习系统基础练习——闰年判断
- 蓝桥杯练习系统基础练习——01字符串
- 蓝桥杯练习系统基础练习——字母图形
- Activiti子流程学习
- python正则表达式常见面试题
- docker根据名字抓取容器
- Virtualbox下如何实现windows主机和linux虚拟机之间文件夹共享及双向拷贝
- 腾讯微信支付开发流程
- 泛型——练习
- final,finally,finalize的区别
- 02:找第一个只出现一次的字符
- CASE WHEN 语句在Oracle和Sybase库中的不同
- 最常用的15大Eclipse开发快捷键技巧
- Snapdragon NPE SDK 的环境配置
- 安倍给印度110亿贷款推销新干线 德媒:或血本无归
- 搭建CDH版phoenix
- 在Anaconda中安装opencv