@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有同步處理。java
附加字符串的需求很頻繁,不建議使用+來進行字符串的串聯。能夠考慮使用java.lang.StringBuilder 類,使用這個類所產生的對象默認會有16個字符的長度,也能夠自行指定初始長度。若是附加的字符超出可容納的長度,則StringBuilder 對象會自動增長長度以容納被附加的字符。若是有頻繁做字符串附加的需求,使用StringBuilder 類能使效率大大提升。數據結構
StringBuilder 被設計爲與StringBuffer具備相同的操做接口。在單機非線程(MultiThread)的狀況下使用StringBuilder 會有較好的效率,由於StringBuilder 沒有處理同步的問題。StringBuffer則會處理同步問題,若是StringBuilder 會有多線程下被操做,則要改用StringBuffer,讓對象自行管理同步問題。多線程