Java百度雲視頻,set集合(1)

?? ?} 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排序

Java百度雲視頻,set集合(1)

這樣寫也有個弊端,由於不一樣的模塊有不一樣的需求,對於一張表有不一樣的排序規則,這個時候這個方法就不合適了,就要用到比較器進行排序

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類傳進去,能夠根據不一樣的排序方式傳不一樣的類,還能夠這麼寫

Java百度雲視頻,set集合(1)

也可根據name的首字母(a-z)排序

?Java百度雲視頻,set集合(1)

Java百度雲視頻,set集合(1)### 最後

手繪了下圖所示的kafka知識大綱流程圖(xmind文件不能上傳,導出圖片展示),但都均可提供源文件給每位愛學習的朋友,獲取連接:戳這裏免費下載

image.png

相關文章
相關標籤/搜索