扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

java涓璗reeSet鎬庝箞浣跨敤

扬州沐宇科技
2023-08-08 16:18:47
Java, treeset

TreeSet鏄疛ava涓殑涓€涓疄鐜颁簡SortedSet鎺ュ彛鐨勯泦鍚堢被锛屽畠鏄竴涓湁搴忕殑闆嗗悎锛屽簳灞備娇鐢ㄧ孩榛戞爲锛圧ed-Black tree锛夋暟鎹粨鏋勬潵瀛樺偍鍏冪礌銆?/p>

浣跨敤TreeSet鏃讹紝闇€瑕佹敞鎰忎互涓嬪嚑鐐癸細

  1. TreeSet涓殑鍏冪礌蹇呴』瀹炵幇Comparable鎺ュ彛锛屾垨鑰呭湪鍒涘缓TreeSet鏃舵彁渚涗竴涓狢omparator瀵硅薄锛岀敤浜庢瘮杈冨厓绱犵殑椤哄簭銆?/p>

  2. TreeSet涓殑鍏冪礌鏄湁搴忕殑锛屾寜鐓у厓绱犵殑鑷劧椤哄簭鎴栬€匔omparator瀵硅薄瀹氫箟鐨勯『搴忚繘琛屾帓搴忋€?/p>

  3. TreeSet涓笉鍏佽瀛樺偍null鍏冪礌銆?/p>

涓嬮潰鏄竴浜涗娇鐢═reeSet鐨勭ず渚嬶細

  1. 浣跨敤鍏冪礌鐨勮嚜鐒堕『搴忚繘琛屾帓搴忥細
TreeSet<Integer> set = new TreeSet<>();
set.add(5);
set.add(2);
set.add(8);
System.out.println(set); // 杈撳嚭锛歔2, 5, 8]
  1. 浣跨敤Comparator瀵硅薄瀹氫箟鍏冪礌鐨勬帓搴忛『搴忥細
TreeSet<String> set = new TreeSet<>(Comparator.reverseOrder());
set.add("apple");
set.add("banana");
set.add("orange");
System.out.println(set); // 杈撳嚭锛歔orange, banana, apple]
  1. 浣跨敤鑷畾涔夌被浣滀负鍏冪礌锛屽苟瀹炵幇Comparable鎺ュ彛锛?/li>
class Person implements Comparable<Person> {
private String name;
private int age;
// 鏋勯€犳柟娉曘€乬etter鍜宻etter鐪佺暐
@Override
public int compareTo(Person other) {
return this.age - other.age;
}
}
TreeSet<Person> set = new TreeSet<>();
set.add(new Person("Alice", 25));
set.add(new Person("Bob", 30));
set.add(new Person("Charlie", 20));
System.out.println(set); // 杈撳嚭锛歔Charlie:20, Alice:25, Bob:30]

浠ヤ笂鏄疶reeSet鐨勫熀鏈敤娉曪紝鏍规嵁瀹為檯闇€姹傚彲浠ョ伒娲诲湴浣跨敤Comparator瀵硅薄鍜岃嚜瀹氫箟绫荤殑Comparable鎺ュ彛鏉ュ疄鐜颁笉鍚岀殑鎺掑簭鏂瑰紡銆?/p>

扫码添加客服微信