關於TreeSet和TreeMap排序問題及例項

2021-10-07 22:33:11 字數 2125 閱讀 8327

a.字母

set treeset = new treeset();

treeset.add("sd");

treeset.add("rt");

treeset.add("vc");

system.out.println(treeset);

>>>[rt, sd, vc]

大小寫

set treeset = new treeset();

treeset.add("b");

treeset.add("a");

treeset.add("a");

treeset.add("c");

system.out.println(treeset);

>>>[a, a, b, c]

b.數字

set treeset = new treeset();

treeset.add(3);

treeset.add(5);

treeset.add(4);

treeset.add(2);

system.out.println(treeset);

>>>[2, 3, 4, 5]

預設是使用key值進行排序

a.字元

map map = new treemap();

map.put("v",55);

map.put("b",50);

map.put("c",51);

map.put("a",54);

system.out.println(map);

>>>

大小寫

map map = new treemap();

map.put("c",55);

map.put("a",50);

map.put("a",51);

map.put("b",54);

system.out.println(map);

>>>

b.數字

map map = new treemap();

map.put(30,55);

map.put(20,50);

map.put(40,51);

map.put(15,54);

system.out.println(map);

>>>

使用比較器有兩種方式:

//treeset

set treeset = new treeset(new comparator()

});//treemap

map map = new treemap(new comparator()

});

class cust implements comparable

}

具體例項:

treeset

//實現物件按年齡倒序排列

set treeset = new treeset(new comparator() 

});treeset.add(new cust("asd",5));

treeset.add(new cust("asd",4));

treeset.add(new cust("asd",3));

treeset.add(new cust("asd",7));

system.out.println(treeset);

>>>[cust, cust, cust, cust]

treemap

//實現物件按年齡倒序排列

map map = new treemap(new comparator() 

});map.put(new cust("asd",5),4);

map.put(new cust("asd",8),2);

map.put(new cust("asd",4),1);

system.out.println(map);

>>>=2, cust=4, cust=1}

AJPFX關於TreeSet集合的介紹

需求 鍵盤錄入5個學生資訊 姓名,語文成績,數學成績,英語成績 按照總分從高到低輸出到控制台。分析 1 建立鍵盤錄入物件 2 建立treeset集合,使用匿名內部類實現comparator介面,重寫compara方法 3 判斷集合中元素的個數,向其中新增元素 4 遍歷集合 class demo tr...

關於TreeSet的元素改變field後的刪除

李剛書中p290 關於treeset刪除情況,自己實驗的結果與書中不一致,說明如下 treeset中的可變物件改變了屬性後,如果還能夠保證正確的公升序,那麼依然可以正常刪除,如果改變了這個順序,那麼就無法刪除了 另外,如果改變了的屬性和原來存在的某個位置的元素相等,如果這兩個元素不是相鄰的,那麼改變...

TreeSet和HashSet 去除重複資料的不同

treeset去重 首先treeset可以實現排序 org.junit.test public void testhashset if o1.getage o2.getage else public person string name,int age,int money 這是person類的構造器...