类TreeMap
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);
}
}
类TreeMap的更多相关文章
- Map接口,Map.Entry,hashMap类,TreeMap类,WeakHashMap。
Collection接口之前接触过,每次保存的对象是一个对象,但是在map中保存的是一对对象,是以key->value形式保存的. 定义: public interface Map<K,V ...
- SortedMap接口的实现类TreeMap介绍和实现Comparator自定义比较器(转)
与SortedSet接口类似,SortedMap也是一个结构,待排序的Map,其一个比较常用的实现类是TreeMap. TreeMap的put(K key, V value)方法在每添加一个元素时,都 ...
- 计算机程序的思维逻辑 (43) - 剖析TreeMap
40节介绍了HashMap,我们提到,HashMap有一个重要局限,键值对之间没有特定的顺序,我们还提到,Map接口有另一个重要的实现类TreeMap,在TreeMap中,键值对之间按键有序,Tree ...
- Java TreeMap 源码解析
继上篇文章介绍完了HashMap,这篇文章开始介绍Map系列另一个比较重要的类TreeMap. 大家也许能感觉到,网络上介绍HashMap的文章比较多,但是介绍TreeMap反而不那么多,这里面是有原 ...
- Java——(七)Map之HashMap和Hashtable实现类
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- Map Map用于具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的ke ...
- java集合系列——Map之TreeMap介绍(九)
一.TreeMap的简介 TreeMap是一个有序的key-value集合,基于红黑树(Red-Black tree)的 NavigableMap实现.该映射根据其键的自然顺序进行排序,或者根据创建映 ...
- 《Java大学教程》—第17章 Java聚焦类框架
由所有聚焦类构成,在java.util包中,包含三个重要接口:* List列表:元素为单个对象,元素在列表中是有序.可重复* Set集合:元素为单个对象,元素在集合中无序.不可重复* ...
- Java编程的逻辑 (43) - 剖析TreeMap
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- TreeMap实现原理及源码分析之JDK8
转载 Java 集合系列12之 TreeMap详细介绍(源码解析)和使用示例 一.TreeMap 简单介绍 什么是Map? 在数组中我们通过数组下标来对数组内容进行索引的,而在Map中我们通过对象来对 ...
随机推荐
- P2P技术
1.什么是P2P技术 点对点技术又称对等互联网络技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上.P2P网络通常用于通过Ad Hoc连接来连接节点. P ...
- 转载 PowerDesigner导出mysql数据结构
转自:https://blog.csdn.net/dkingyaoyao/article/details/84586146 好久没有使用PowerDesigner,突然想用它导出数据结构,居然忘记了. ...
- jQuery中$()可以有两个参数
jQuery(expression, [context]) 返回值:jQuery 概述 这个函数接收一个包含 CSS 选择器的字符串,然后用这个字符串去匹配一组元素. jQuery 的核心功能都是通过 ...
- ASP.NET Web API 使用Swagger
ASP.NET Web API 使用Swagger使用笔记 最近换了工作,其中Webapi这块没有文档,之前有了解过Swagger借此机会好好整理下常用的地方分享给有需要的小伙伴. 概述: 1.s ...
- iOS app被拒整理
作者:Leon链接:http://www.zhihu.com/question/33191327/answer/71421736来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- Linux系统性能测试工具(二)——内存压力测试工具memtester
本文介绍关于Linux系统(适用于centos/ubuntu等)的内存压力测试工具-memtester.内存性能测试工具包括: 内存带宽测试工具——mbw: 内存压力测试工具——memtester: ...
- thinkphp5 select对象怎么转数组?
DB操作返回是数组.模型直接操作返回是对象 对象类型转换数组打开 database.php 增加或修改参数'resultset_type' => '\think\Collection',即可连贯 ...
- fastadmin 搭建到云虚拟主机
1.把public下的index.php.router.php.install.php.admin_*******.php..htaccess(伪静态文件),移到 文件夹:/htdocs 根目录 ...
- Candidate Generation and LUNA16 preprocessing
在这个kernel中,我们将讨论有助于更好地理解问题陈述和数据可视化的方法. 我还将提供有用的资源和信息的链接. 此脚本是用Python编写的. 我建议人们在桌面上安装anaconda,因为here提 ...
- pipeline语法学习日记
1.pipeline 整合job的通用代码,比较基本 2.pipeline参数化构建