JAVA使用TreeMap对字符串进行排序
这篇文章主要介绍了JAVA使用TreeMap对字符串进行排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
题目要求:
给出一个字符串:fjdjskgfhbsjkgjnsrgnaHNGKEURHGASLGNw5y74236720573。
要求:
化成字符串a(字符的个数)b()c()...
区分大小写
只读取字母
直接上代码:
import java.util.Map; import java.util.Set; import java.util.TreeMap; /** * @Author caozy * @Date 2020/1/10 18:18 * @Version 1.0 */ public class TestTreeMap { public static void main(String[] args) { //treemap 自动对key排序 格局map的特点,键无序 //键用来存储字母,值用来存储字母出现的次数 Map<Character, Integer> treeMap = new TreeMap<>(); String str = "ngksfdghnsFNSDLIGNRSLGN57349856734856"; Set<Character> set = treeMap.keySet(); for(int i=0;i<str.length();i++){ Character st = str.charAt(i); //根据ASCII值筛选出所有的字母 if((st>='a' && st<='z')||st>='A' && st<='Z'){ //立一个flag标识 boolean flag = true; for(Character ch:set){ if(st==ch){//第一次添加该元素 个数为1 treeMap.put(ch,treeMap.get(ch)+1); flag=false; } } if(flag){//不是第一次添加,个数加1 treeMap.put(str.charAt(i),1); } } } for(Character ch:set){//根据题目要求遍历treemap集合 System.out.print(ch+"("+treeMap.get(ch)+")"); } } }
TreeMap集合的特点
- 一个基于红黑树的实现
- jdk1.2开始
- 自动排序
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
在Java中如何决定使用 HashMap 还是 TreeMap
HashMap简单总结: 1.HashMap 是链式数组(存储链表的数组)实现查询速度可以,而且能快速的获取key对应的value: 2.查询速度的影响因素有 容量和负载因子,容量大负载因子小查询速度快但浪费空间,反之则相反: 3.数组的index值是(key 关键字, hashcode为key的哈希值, len 数组的大小):hashcode%len的值来确定,如果容量大负载因子小则index相同(index相同也就是指向了同一个桶)的概率小,链表长度小则查询速度快,反之index相同的概率大
-
java中treemap和treeset实现红黑树
TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点. TreeSet 和 TreeMap 的关系 为了让大家了解 TreeMap 和 TreeSet 之间的关系,下面先看 TreeSet 类的部分源代码: public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, java.io.Serializab
-
通过java.util.TreeMap源码加强红黑树的理解
在此之前,我们已经为大家整理了很多关于经典问题红黑树的思路和解决办法.本篇文章,是通过分析java.util.TreeMap源码,让大家通过实例来对红黑树这个问题有更加深入的理解. 本篇将结合JDK1.6的TreeMap源码,来一起探索红-黑树的奥秘.红黑树是解决二叉搜索树的非平衡问题. 当插入(或者删除)一个新节点时,为了使树保持平衡,必须遵循一定的规则,这个规则就是红-黑规则: 1) 每个节点不是红色的就是黑色的 2) 根总是黑色的 3) 如果节点是红色的,则它的子节点必须是黑色的(反
-
java中TreeMap排序的示例代码
1. 定义TreeMap的排序方法 使用Comparator对象作为参数 需要注意的是:排序方法是针对键的,而不是值的.如果想针对值,需要更麻烦的一些方法(重写一些方法) TreeMap<Screen,Integer> res = new TreeMap<Screen, Integer>(new Comparator<Screen>() { @Override public int compare(Screen screen1, Screen t1) { // 定义Tr
-
Java源码解析TreeMap简介
TreeMap是常用的排序树,本文主要介绍TreeMap中,类的注释中对TreeMap的介绍.代码如下. /** * A Red-Black tree based {@link NavigableMap} implementation. * The map is sorted according to the {@linkplain Comparable natural * ordering} of its keys, or by a {@link Comparator} provided at
-
java HashMap,TreeMap与LinkedHashMap的详解
java HashMap,TreeMap与LinkedHashMap的详解 今天上午面试的时候 问到了Java,Map相关的事情,我记错了HashMap和TreeMap相关的内容,回来赶紧尝试了几个demo理解下 package Map; import java.util.*; public class HashMaps { public static void main(String[] args) { Map map = new HashMap(); map.put("a", &
-
Java TreeMap排序算法实例
本文实例讲述了Java TreeMap排序算法.分享给大家供大家参考,具体如下: TreeMap 和 HashMap 用法大致相同,但实际需求中,我们需要把一些数据进行排序: 以前在项目中,从数据库查询出来的数据放在List中,顺序都还是对的,但放在HashMap中,顺序就完全乱了. 为了处理排序的问题: 1. 对于一些简单的排序,如:数字,英文字母等 TreeMap hm = new TreeMap<String, String>(new Comparator() { public int
-
Java中HashMap和TreeMap的区别深入理解
首先介绍一下什么是Map.在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value.这就是我们平时说的键值对. HashMap通过hashcode对其内容进行快速查找,而 TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的). HashMap 非线程安全 TreeMap 非线程安全 线程安全 在Java里,线程安全一般体
-
java 中HashMap、HashSet、TreeMap、TreeSet判断元素相同的几种方法比较
java 中HashMap.HashSet.TreeMap.TreeSet判断元素相同的几种方法比较 1.1 HashMap 先来看一下HashMap里面是怎么存放元素的.Map里面存放的每一个元素都是key-value这样的键值对,而且都是通过put方法进行添加的,而且相同的key在Map中只会有一个与之关联的value存在.put方法在Map中的定义如下. V put(K key, V value); 它用来存放key-value这样的一个键值对,返回值是key在Map中存放的旧va
-
JAVA使用TreeMap对字符串进行排序
这篇文章主要介绍了JAVA使用TreeMap对字符串进行排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 题目要求: 给出一个字符串:fjdjskgfhbsjkgjnsrgnaHNGKEURHGASLGNw5y74236720573. 要求: 化成字符串a(字符的个数)b()c()... 区分大小写 只读取字母 直接上代码: import java.util.Map; import java.util.Set; import java.uti
-
Java实现对中文字符串的排序功能实例代码
废话不多说了,直接给大家代码分享代码了. 具体代码如下所示: package test; /** * * @Title 书的信息类 * @author LR * @version . * @since -- */ public class Book { private String book_id; private String book_name; private String publishing_house; public Book(String book_id, String book_
-
java实现对map的字典序排序操作示例
本文实例讲述了java实现对map的字典序排序操作.分享给大家供大家参考,具体如下: java中对map的字典序排序,算法验证比对微信官网https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN,搜索关键字"附录1-JS-SDK使用权限签名算法" import java.util.ArrayList; import java.util.Collectio
-
Java 判断两个字符串是否由相同的字符组成的实例
问题:由相同的字符组成是指两个字符串,字母以及各个字母的个数是相同的,只是顺序不同.如:"aaaabbc"与"abcbaaa"是由相同字符组成. 方法一:排序法,也是最容易想到的方法,将两个字符串转换为字节数组,分别排序后,判断是否相同即可. 方法二:集合法(空间换时间),利用Map集合key的唯一性,遍历第一个字符串,将字符作为key,字符出现的次数作为value,若遇到重复字符则将value+1.之后遍历第二个字符串,遇到字符就将对应的value-1,若valu
-
Java实现的简单字符串反转操作示例
本文实例讲述了Java实现的简单字符串反转操作.分享给大家供大家参考,具体如下: 最常用的方式是,反向取出每个字符,然后打印: public class StringReverse { public static void main(String[] args) { // 原始字符串 String s = "A quick brown fox jumps over the lazy dog."; System.out.println("原始的字符串:" + s);
-
浅谈Java中Collections.sort对List排序的两种方法
目录 一.Collections.sort的简单使用 二.问题提出 三.Comparable实现排序 四.Comparator实现排序 五.Comparable 与Comparator区别 一.Collections.sort的简单使用 说到List的排序,第一反应当然是使用Collections.sort,方便简单.下面实现一下~~ private void sortStrings() { List<String> list = new ArrayList<String>();
-
Java实现的文本字符串操作工具类实例【数据替换,加密解密操作】
本文实例讲述了Java实现的文本字符串操作工具类.分享给大家供大家参考,具体如下: package com.gcloud.common; import org.apache.commons.lang.StringUtils; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.text.BreakIterator; import java.util.Array
随机推荐
- MySQL 4.0 升级到mysql 5.0的方法
- CentOS 6.5源码安装Erlang教程
- iOS的客户端菜单功能仿百度糯米/美团二级菜单
- 20个非常实用的Java程序代码片段
- [Oracle] 彻底搞懂Oracle字符集
- js对象内部访问this修饰的成员函数示例
- 修改Nginx屏蔽网址的规则的方法
- asp.net中生成缩略图并添加版权实例代码
- Python编程实现控制cmd命令行显示颜色的方法示例
- c#线程同步使用详解示例
- js substring从右边获取指定长度字符串(示例代码)
- JavaScript预解析及相关技巧分析
- 复制 Windows cmd 窗口命令行的信息方法
- 深入理解JavaScript系列(43):设计模式之状态模式详解
- 小谈RADMIN的几个小技巧
- jQuery操作checkbox选择(list/table)
- 学习JavaScript设计模式之单例模式
- Java获取随机数的3种方法
- maven中下载jar包源码和javadoc的命令介绍
- Java中常见的陷阱题及答案