?? ?} java
?? ?public void setPrice(int price) { markdown
?? ??? ?this.price = price; ide
?? ?} 學習
?? ?@Override this
?? ?public String toString() { 3d
?? ??? ?return "user [name=" + name + ", price=" + price + "]"; 視頻
?? ?} blog
?? ?public user(String name, int price) { 排序
?? ??? ?super(); 圖片
?? ??? ?this.name = name;
?? ??? ?this.price = price;
?? ?}
?? ?public user() {
?? ?}
?? ?@Override
?? ?public int compareTo(Object o) {
?? ??? ?user u=(user) o;
?? ??? ?return this.price-u.price;
?? ?}
}
運行輸出的結果就會根據price排序
這樣寫也有個弊端,由於不一樣的模塊有不一樣的需求,對於一張表有不一樣的排序規則,這個時候這個方法就不合適了,就要用到比較器進行排序
package com.set;
import java.util.Comparator;
import java.util.TreeSet;
public class demo3 {
public static void main(String[] args) {
?? ?TreeSet<users> set = new TreeSet<users>(new price());
?? ?set.add(new users("aaa", 13));
?? ?set.add(new users("ccc", 14));
?? ?set.add(new users("bbb", 12));
?? ?for (users s : set) {
?? ??? ?System.out.println(s);
?? ?}
}
}
class price implements Comparator<users>{
?? ?@Override
?? ?public int compare(users o1, users o2) {
?? ??? ?return o1.getPrice()-o2.getPrice();
?? ?}
}
class users{
?? ?private String name;
?? ?private int price;
?? ?public String getName() {
?? ??? ?return name;
?? ?}
?? ?public void setName(String name) {
?? ??? ?this.name = name;
?? ?}
?? ?public int getPrice() {
?? ??? ?return price;
?? ?}
?? ?public void setPrice(int price) {
?? ??? ?this.price = price;
?? ?}
?? ?@Override
?? ?public String toString() {
?? ??? ?return "user [name=" + name + ", price=" + price + "]";
?? ?}
?? ?public users(String name, int price) {
?? ??? ?super();
?? ??? ?this.name = name;
?? ??? ?this.price = price;
?? ?}
?? ?public users() {
?? ?}
?? ?
}
?
直接把price類傳進去,能夠根據不一樣的排序方式傳不一樣的類,還能夠這麼寫
也可根據name的首字母(a-z)排序
?
### 最後
手繪了下圖所示的kafka知識大綱流程圖(xmind文件不能上傳,導出圖片展示),但都均可提供源文件給每位愛學習的朋友,獲取連接:戳這裏免費下載