激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java中TreeMap排序的示例代碼

java中TreeMap排序的示例代碼

2021-02-07 11:54AsuraDong Java教程

本篇文章主要介紹了java中TreeMap排序的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1. 定義TreeMap排序方法

使用Comparator對象作為參數

需要注意的是:排序方法是針對鍵的,而不是值的。如果想針對值,需要更麻煩的一些方法(重寫一些方法)

java" id="highlighter_101391">
?
1
2
3
4
5
6
TreeMap<Screen,Integer> res = new TreeMap<Screen, Integer>(new Comparator<Screen>() {
      @Override
      public int compare(Screen screen1, Screen t1) { // 定義TreeMap的排序方法
        return screen1.compareTo(t1); // TreeMap的排序方法是:調用screen的比較方法
      }
    });

2. 定義里面的對象的比較方法

繼承Comparable接口

?
1
2
3
4
5
6
7
8
9
10
11
public class Screen implements Comparable{
  private double size,price;
  
  ...
  
  @Override
  public int compareTo(Object s){ // 定義比較方法
    Screen screen = (Screen)s;
    return this.price>screen.getPrice()?-1:1; // 返回負整數和正整數
  }
}

3. 所有代碼

按照Screen的價錢排序

Screen.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.*;
import java.lang.Integer;
 
public class Screen implements Comparable{
  private double size,price;
  public Screen(){}
  public void setSize(double size){
    this.size = size;
  }
  public void setPrice(double price){
    this.price = price;
  }
  public double getSize(){ return this.size;}
  public double getPrice() { return this.price;}
  public void show(){
    System.out.println("size is: "+this.size+"; price is: "+this.price);
  }
  @Override
  public int compareTo(Object s){ // 定義比較方法
    Screen screen = (Screen)s;
    return this.price>screen.getPrice()?-1:1; // 返回負整數和正整數
  }
}

TestScreen.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeMap;
import problem2.Screen;
 
public class TestScreen {
  final static int MAX_NUM = 8;
  public static void main(String []args){
    TreeMap<Screen,Integer> res = new TreeMap<Screen, Integer>(new Comparator<Screen>() {
      @Override
      public int compare(Screen screen1, Screen t1) { // 定義TreeMap的排序方法
        return screen1.compareTo(t1); // TreeMap的排序方法是:調用screen的比較方法
      }
    });
    double price, size;
    Scanner scan = new Scanner(System.in);
    for(int i=0;i<MAX_NUM;++i){
      Screen screen = new Screen();
      size = scan.nextDouble();
      price = scan.nextDouble();
      screen.setSize(size);
      screen.setPrice(price);
      res.put(screen,i);
    }
    for(Screen screen:res.keySet()){
      screen.show();
    }
    return ;
  }
}
//    測試樣例(輸入)
//    1 2
//    3 4
//    5 6
//    7 8
//    9 10
//    1 2
//    3 4
//    3 4

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.jianshu.com/p/dc0e6c3a7c67

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: av久草 | 国产成人精品一区二区仙踪林 | 97青青草视频| 一级毛片在线免费播放 | 天天草天天色 | 依依成人综合 | 九九午夜视频 | 久草在线最新 | 欧美日韩影视 | 色综合久久99 | 国产精品99久久99久久久二 | 91精品国产成人 | 日韩在线观看中文字幕 | 欧美hdfree性xxxx | 一级免费看片 | 激情大乳女做爰办公室韩国 | 夜添久久精品亚洲国产精品 | 欧美一级片免费在线观看 | 毛片免费视频观看 | 欧洲成人av | 精品av在线播放 | 欧美一级高潮片免费的 | 日本精品久久久久 | 毛片免费观看日本中文 | 国产精品久久久久久婷婷天堂 | 依人在线视频 | 午夜国产成人 | 美女黄页网站免费进入 | 国产二区三区在线播放 | 国产精品久久久久免费视频 | 一级成人欧美一区在线观看 | 日本一区二区不卡在线观看 | 精品国产乱码一区二区三区四区 | 国产一区二区视频网站 | 国产成人精品区 | 一级一级一级毛片 | 欧美一区二区三区久久精品视 | 性少妇videosexfreexx | av免费在线观看免费 | 成人免费久久 | 中文字幕专区高清在线观看 |