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的更多相关文章

  1. Map接口,Map.Entry,hashMap类,TreeMap类,WeakHashMap。

    Collection接口之前接触过,每次保存的对象是一个对象,但是在map中保存的是一对对象,是以key->value形式保存的. 定义: public interface Map<K,V ...

  2. SortedMap接口的实现类TreeMap介绍和实现Comparator自定义比较器(转)

    与SortedSet接口类似,SortedMap也是一个结构,待排序的Map,其一个比较常用的实现类是TreeMap. TreeMap的put(K key, V value)方法在每添加一个元素时,都 ...

  3. 计算机程序的思维逻辑 (43) - 剖析TreeMap

    40节介绍了HashMap,我们提到,HashMap有一个重要局限,键值对之间没有特定的顺序,我们还提到,Map接口有另一个重要的实现类TreeMap,在TreeMap中,键值对之间按键有序,Tree ...

  4. Java TreeMap 源码解析

    继上篇文章介绍完了HashMap,这篇文章开始介绍Map系列另一个比较重要的类TreeMap. 大家也许能感觉到,网络上介绍HashMap的文章比较多,但是介绍TreeMap反而不那么多,这里面是有原 ...

  5. Java——(七)Map之HashMap和Hashtable实现类

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- Map Map用于具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的ke ...

  6. java集合系列——Map之TreeMap介绍(九)

    一.TreeMap的简介 TreeMap是一个有序的key-value集合,基于红黑树(Red-Black tree)的 NavigableMap实现.该映射根据其键的自然顺序进行排序,或者根据创建映 ...

  7. 《Java大学教程》—第17章 Java聚焦类框架

    由所有聚焦类构成,在java.util包中,包含三个重要接口:*    List列表:元素为单个对象,元素在列表中是有序.可重复*    Set集合:元素为单个对象,元素在集合中无序.不可重复*    ...

  8. Java编程的逻辑 (43) - 剖析TreeMap

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  9. TreeMap实现原理及源码分析之JDK8

    转载 Java 集合系列12之 TreeMap详细介绍(源码解析)和使用示例 一.TreeMap 简单介绍 什么是Map? 在数组中我们通过数组下标来对数组内容进行索引的,而在Map中我们通过对象来对 ...

随机推荐

  1. vue实现动画和css3动画属性

    一.vue动画实现原理: 动画的实现,必须通过元素的显示隐藏或销毁创建.v-show  v-if vue中如果需要使用动画的时候,需要使用一个内置组件transition组件 该组件有一个name属性 ...

  2. Spring基础12——使用外部属性文件

    1.使用外部属性文件 在配置文件里配置Bean时,有时需要在Bean的配置文件里引入系统部署的细节信息(例如:文件的路径.数据源配置信息等),而这些部署细节实际上需要和bean配置相分离,因为我们修改 ...

  3. listen - listen for connections on a socket 在一个套接字上倾听连接

    SYNOPSIS 概述 #include <sys/socket.h> int listen(int s, int backlog); DESCRIPTION 描述 在接收连接之前,首先要 ...

  4. Linux硬盘分区和软硬链接

    磁盘分区:先在虚拟机设置里添加一个新硬盘 查看现在电脑上有几个硬盘:ls /dev/硬盘名 分区命令:fdisk  /dev/硬盘名 进入之后,可以输入 m 查看命令的具体是使用 新建分区:n→p(选 ...

  5. 03python面向对象编程5

    5.1 继承机制及其使用 继承是面向对象的三大特征之一,也是实现软件复用的重要手段.Python 的继承是多继承机制,即一个子类可以同时有多个直接父类. Python 子类继承父类的语法是在定义子类时 ...

  6. Django【第16篇】:Django之Form组件自定义验证规则

    自定义验证规则以及中间件简单介绍 1.python2和python3中的区别 对于python2内置的字符串类型有str和unicode 比如:"abc"是字符串,u"你 ...

  7. 数列前n项和

    等差数列 等比数列 常见的前n项和

  8. LeetCode--617--合并二叉树(python)

    给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠. 你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 ...

  9. SQL Server2008收缩日志文件

    查询状态语句: SELECT name,log_reuse_wait_desc FROM sys.databases where name='hrsystem'; 收缩日志文件: USE [maste ...

  10. easyui 无限级数tree[menulist1 = GetMenuList(sm2,menulist1);]

    // 左侧导航加载 function addNav(data) { $.each(data,function(i, sm1) { var menulist1 = "<ul id='tt ...