teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

Comparableの実装例

2020/12/18 09:48

投稿

momon-ga
momon-ga

スコア4828

answer CHANGED
@@ -10,4 +10,29 @@
10
10
 
11
11
  java.lang.Comparable インターフェースをMyDataに実装するか
12
12
  Collections.reverseOrder()の代わりにjava.util.Comparatorの実装クラス(匿名クラスで良いです)
13
- を指定する必要があります。
13
+ を指定する必要があります。
14
+
15
+ ---
16
+ Comparatorの実装が提示済みなので、Comparableの例を追記
17
+
18
+ ```java
19
+ public class MyData implements Comparable<MyData> {
20
+ public int index;
21
+ public double data;
22
+
23
+ MyData(int index, double data) {
24
+ this.index = index;
25
+ this.data = data;
26
+ }
27
+
28
+ public String toString() {
29
+ return "[" + index + "] = " + data;
30
+ }
31
+
32
+ @Override
33
+ public int compareTo(MyData o) {
34
+ if(this.index == o.index) return 0;
35
+ return this.index > o.index ? 1 : -1;
36
+ }
37
+ }
38
+ ```