回答編集履歴

3

対案を提示

2015/11/26 07:29

投稿

KiyoshiMotoki
KiyoshiMotoki

スコア4791

test CHANGED
@@ -65,3 +65,73 @@
65
65
 
66
66
 
67
67
  http://docs.oracle.com/javase/jp/7/api/java/util/Collections.html#reverse(java.util.List)
68
+
69
+
70
+
71
+ ## 対案 : ソートを1回だけ実行する
72
+
73
+ swordone様のご指摘を受け、ソート処理を1回で済ませるプログラムを以下に示します。
74
+
75
+ `Collections.reverseOrder()`メソッドを使用しております。
76
+
77
+ ```java
78
+
79
+ import java.util.ArrayList;
80
+
81
+ import java.util.Collections;
82
+
83
+ import java.util.Comparator;
84
+
85
+ import java.util.List;
86
+
87
+
88
+
89
+ public class Main {
90
+
91
+
92
+
93
+ public static void main(String[] args) {
94
+
95
+ List<String> devicesList = new ArrayList<String>();
96
+
97
+ devicesList.add("SmartPhone");
98
+
99
+ devicesList.add("Tablet");
100
+
101
+ devicesList.add("MobilePhone");
102
+
103
+ devicesList.add("Notebook");
104
+
105
+
106
+
107
+ System.out.println(devicesList);
108
+
109
+
110
+
111
+ Comparator<String> reverseOrder = Collections.reverseOrder();
112
+
113
+ Collections.sort(devicesList, reverseOrder);
114
+
115
+ System.out.println(devicesList);
116
+
117
+ }
118
+
119
+
120
+
121
+ }
122
+
123
+ ```
124
+
125
+ 実行結果
126
+
127
+ ```
128
+
129
+ [SmartPhone, Tablet, MobilePhone, Notebook]
130
+
131
+ [Tablet, SmartPhone, Notebook, MobilePhone]
132
+
133
+ ```
134
+
135
+
136
+
137
+ http://docs.oracle.com/javase/jp/7/api/java/util/Collections.html#reverseOrder(java.util.Comparator)

2

文言を修正

2015/11/26 07:29

投稿

KiyoshiMotoki
KiyoshiMotoki

スコア4791

test CHANGED
@@ -1,4 +1,4 @@
1
- 降順で表示したいだけでしたら、`Comparator`クラスを実装する必要はありません
1
+ `Collections.reverse()`メソッドを使用すれば、`Comparator`クラスを実装しなくても実現できます。
2
2
 
3
3
  ```java
4
4
 

1

リンクを追記

2015/11/26 06:41

投稿

KiyoshiMotoki
KiyoshiMotoki

スコア4791

test CHANGED
@@ -61,3 +61,7 @@
61
61
  [Tablet, SmartPhone, Notebook, MobilePhone]
62
62
 
63
63
  ```
64
+
65
+
66
+
67
+ http://docs.oracle.com/javase/jp/7/api/java/util/Collections.html#reverse(java.util.List)