文档章节

ID02 treemap StringBuilder & StringBuffer 

萧小蚁
 萧小蚁
发布于 2016/09/22 13:34
字数 381
阅读 6
收藏 0

TreeMap:

    @Test
    public void test(){
    	
    	Map<String, String> map = new HashMap<String, String>();
		map.put("phone", "13552516953");
		map.put("curTime", "1474446957");
//		TreeMap:基于红黑树实现。TreeMap没有调优选项,因为该树总处于平衡状态。实现了排序
//		HashMap:适用于在Map中插入、删除和定位元素。 
//		Treemap:适用于按自然顺序或自定义顺序遍历键(key)。 
//		HashMap通常比TreeMap快一点(树和哈希表的数据结构使然),建议多使用HashMap,在需要排序的Map时候才用TreeMap。
		TreeMap<String, String> sortedParams = new TreeMap<String, String>(map);
       
        for (Entry<String, String> param : sortedParams.entrySet()) {
            System.out.println(param.getKey()+"---"+param.getValue());
        }
    }

StringBuilder & StringBuffer :

       字符串拼接使用StringBuilder,没有处理同步,StringBuffer有同步处理。

       附加字符串的需求很频繁,不建议使用+来进行字符串的串联。可以考虑使用java.lang.StringBuilder 类,使用这个类所产生的对象默认会有16个字符的长度,也可以自行指定初始长度。如果附加的字符超出可容纳的长度,则StringBuilder 对象会自动增加长度以容纳被附加的字符。如果有频繁作字符串附加的需求,使用StringBuilder 类能使效率大大提高。

     StringBuilder 被设计为与StringBuffer具有相同的操作接口。在单机非线程(MultiThread)的情况下使用StringBuilder 会有较好的效率,因为StringBuilder 没有处理同步的问题。StringBuffer则会处理同步问题,如果StringBuilder 会有多线程下被操作,则要改用StringBuffer,让对象自行管理同步问题。

JSONUtils:

 

© 著作权归作者所有

共有 人打赏支持
上一篇: ID03 ListMultimap
下一篇: ID01
萧小蚁

萧小蚁

粉丝 99
博文 279
码字总数 192339
作品 0
海淀
程序员
私信 提问
String ,  StringBuffer ,  StringBuilder的区别

String , StringBuffer , StringBuilder的区别 String 首先,String 是用来表示一个字符串常量的,它是一个不可变对象,意味着,一旦我们创建了某个字符串之后,就不能再改变它的值了,我们可...

tsmyk0715
2018/10/17
0
0
详解 JAVA 创建对象 NEW

假设我们在函数中写了如下这个简单的语句:   StringBuffer str = new StringBuffer("Hello world");   别看这个语句简单,其实包含了如下三个步骤:   首先,newStringBuffer("He...

klog
2016/11/27
18
0
【翻译】Java中String, StringBuffer, StringBuilder的区别

String 是 Java 中最重要的类之一,并且任何刚开始做Java编程的人,都会用String定义一些内容,然后通过著名的System.out.println()语句来打印出来。 然而,很多Java新手都不会意识到 String...

YuanyuanL
2014/09/03
0
4
Java SE 6 Update 14 Early Access 早期使用版本发布

Java SE 6 Update 14 Early Access 早期使用版本现已发布,新更新功能包括: 为 Windows JRE 提供Service Tag 创建功能 :Sun Service Tag是产品识别码,用于自动探索Sun系统、软体及服务,以...

红薯
2009/03/19
586
0
每天一个 Linux 命令(57): ss 命令

原文出处:peida ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信...

peida
2017/02/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据剖析热点新闻:996、巴黎圣母院、奔驰维权为什么成为本周热搜

智能大数据专家表示:每一段重要的时期都会有一串隐秘的数字密码,请往下看: 本周共有50条新闻,作为嗅嗅的样本进行数据分析,得出以下统计图: 1.新闻热词折线统计图 在新闻标题及正文中,...

forespider
48分钟前
1
0
Coding and Paper Letter(六十四)

资源整理。 1 Coding: 1.交互式瓦片编辑器。 tile playground 2.R语言包autokeras,autokeras的R接口。autokeras是一个开源的自动机器学习的软件。 autokeras 3.斯坦福网络分析平台,用于网络...

胖胖雕
今天
1
0
最简单的cd命令是个大坑!

BASH Shell 是大多 Linux 发行版的默认 shell,BASH 有一些自己的内置命令,cd 就是其中的一个。 在centos6里面,系统中不存在 cd 的二进制文件。但是你仍然可以运行该命令,这是因为 cd 是 ...

gaolongquan
今天
1
0
spring获取bean的几种方式

使用jdk:1.8、maven:3.3.3 spring获取Bean的方式 pom.xml文件内容: <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="......

Vincent-Duan
今天
3
0
一段话系列-Linux中IO的同步、异步、阻塞、非阻塞

首先我们框定一下背景,我们探讨的是Linux系统下的IO模型。 同步和异步是针对内核操作数据而言的,同步是指内核串行顺序操作数据,异步是指内核并行(或并发)操作数据,然后通过回调的方式通...

EasyProgramming
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部