ID02 treemap StringBuilder & StringBuffer

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

       附加字符串的需求很頻繁,不建議使用+來進行字符串的串聯。能夠考慮使用java.lang.StringBuilder 類,使用這個類所產生的對象默認會有16個字符的長度,也能夠自行指定初始長度。若是附加的字符超出可容納的長度,則StringBuilder 對象會自動增長長度以容納被附加的字符。若是有頻繁做字符串附加的需求,使用StringBuilder 類能使效率大大提升。數據結構

     StringBuilder 被設計爲與StringBuffer具備相同的操做接口。在單機非線程(MultiThread)的狀況下使用StringBuilder 會有較好的效率,由於StringBuilder 沒有處理同步的問題。StringBuffer則會處理同步問題,若是StringBuilder 會有多線程下被操做,則要改用StringBuffer,讓對象自行管理同步問題。多線程

JSONUtils:

相關文章
相關標籤/搜索