質問編集履歴
2
a|b<<32で比較したくない
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
thenComparingによって
|
1
|
+
thenComparingによってlong[] の 第一要素、第二要素の順でソートしたい
|
body
CHANGED
@@ -3,22 +3,22 @@
|
|
3
3
|
```Java
|
4
4
|
Arrays.sort(a, new Comparator<int[]>() {
|
5
5
|
@Override
|
6
|
-
public int compare(
|
6
|
+
public int compare(long[] o1, long[] o2) {
|
7
|
-
if(o1[0]!=o2[0]) return
|
7
|
+
if(o1[0]!=o2[0]) return Long.compare(o1[0], o2[0]);
|
8
|
-
else return
|
8
|
+
else return Long.compare(o1[1], o2[1]);
|
9
9
|
}
|
10
10
|
});
|
11
11
|
```
|
12
12
|
と同じ働きをするコードを書きたいです。
|
13
13
|
第一要素によるソートは
|
14
14
|
```Java
|
15
|
-
Arrays.sort(
|
15
|
+
Arrays.sort(a, Comparator.comparing(v->v[0]));
|
16
16
|
```
|
17
17
|
とすることで行うことが出来ることを手元で確かめています。
|
18
18
|
|
19
19
|
しかし、第二要素による比較を入れた
|
20
20
|
```Java
|
21
|
-
Arrays.sort(
|
21
|
+
Arrays.sort(a, Comparator.comparing(v->v[0]).thenComparing(v->v[1]));
|
22
22
|
```
|
23
23
|
ですと、Exception in thread "main" java.lang.Error: Unresolved compilation problem:
|
24
24
|
というエラーが発生してしまいます。修正方法の分かる方ご教示ください。
|
1
リンクが壊れているため
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
[thenComparing](https://docs.oracle.com/javase/jp/8/docs/api/java/util/Comparator.html
|
1
|
+
[thenComparing](https://docs.oracle.com/javase/jp/8/docs/api/java/util/Comparator.html)を用いて長さ2の配列の集合を第一要素、第二要素の優先度順でソートしたいと考えています。
|
2
2
|
具体的には
|
3
3
|
```Java
|
4
4
|
Arrays.sort(a, new Comparator<int[]>() {
|