色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

treemap排序規則

老白2年前85瀏覽0評論

treemap排序規則?

TreeMap 默認排序規則:按照key的字典順序來排序(升序)。(注:這里的有序是遍歷時值大小的有序,不是插入順序的有序)(默認排序規則對應底層數據結構紅黑樹的中序遍歷)

當然,也可以自定義排序規則:要實現Comparator接口。

用法簡單,先看下下面的demo

public class SortDemo {

public static void main(String[] args) {

System.out.println("---------------- 默認 排序結果-----------------");

createDefaultSortTreeMap();

System.out.println("---------------- 自定義 排序結果-----------------");

createDefinitionSortTreeMap();

}

public static void createDefaultSortTreeMap() {

TreeMap<String, String> map = new TreeMap<String, String>();

init(map);

print(map);

}

public static void createDefinitionSortTreeMap() {

TreeMap<String, String> map = new TreeMap<String, String>(new Comparator<String>() {

@Override

public int compare(String o1, String o2) {

return o2.compareTo(o1);

}

});

init(map);

print(map);

}

public static void init(Map<String, String> map) {

map.put("c", "1");

map.put("a", "1");

map.put("bb", "1");

map.put("b", "1");

}

public static void print(Map<String, String> map) {

Iterator<Entry<String, String>> it = map.entrySet().iterator();

while(it.hasNext()) {

Entry<String, String> entry = it.next();

System.out.println(entry.getKey() + " : " + entry.getValue());

}

}

結果:

---------------- 默認 排序結果-----------------

a : 1

b : 1

bb : 1

c : 1

---------------- 自定義 排序結果-----------------

c : 1

bb : 1

b : 1

a : 1

二、擴展:字典順序的排序規則。

1、兩個數字了m1,m2比較: 對于數字來說,直接按照大小排序1

2 、兩個字符串 s1, s2比較

(1)、如果s1和s2是父子串關系,則 子串 < 父串

(2)、如果非為父子串關系, 則從第一個非相同字符來比較。

例子 s1 = "ab", s2 = "ac" 這種情況算法規則是從第二個字符開始比較,由于'b' < 'c' 所以 "ab" < "ac"

(3)、字符間的比較,是按照字符的字節碼(ascii)來比較TreeMap 默認排序規則:按照key的字典順序來排序(升序)。(注:這里的有序是遍歷時值大小的有序,不是插入順序的有序)(默認排序規則對應底層數據結構紅黑樹的中序遍歷)

當然,也可以自定義排序規則

java的map迭代器,treemap排序規則