回答編集履歴

1

sample

2020/07/02 05:49

投稿

退会済みユーザー
test CHANGED
@@ -1 +1,113 @@
1
1
  java doc([*](https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#compareToIgnoreCase-java.lang.String-)) の使い方を理解していれば質問には発展しません。
2
+
3
+
4
+
5
+ compileエラー状態のコード提示からかわったので [サンプル](https://paiza.io/projects/T4ZZARU3vjLJGxnrV35c1w?language=java)
6
+
7
+
8
+
9
+ ```java
10
+
11
+ import java.util.*;
12
+
13
+
14
+
15
+ public class Main {
16
+
17
+
18
+
19
+ public static void main(String[] args) {
20
+
21
+ ArrayList<String> foo = new ArrayList<>();
22
+
23
+
24
+
25
+ foo.add("Abs");
26
+
27
+ foo.add("aaaa");
28
+
29
+ foo.add("bbbbb");
30
+
31
+ foo.add("BBB");
32
+
33
+ foo.add("ccccccccc");
34
+
35
+ foo.add("CCCCCCCCC");
36
+
37
+ foo.add("CCCCaCCCC");
38
+
39
+ foo.add("CCCCACCCC");
40
+
41
+ foo.add("Add");
42
+
43
+
44
+
45
+ Collections.sort(foo, (String obj1, String obj2) ->{
46
+
47
+ if (Objects.equals(obj1, obj2)) {
48
+
49
+ return 0;
50
+
51
+ } else if (Objects.isNull(obj1)) {
52
+
53
+ return -1;
54
+
55
+ } else if (Objects.isNull(obj2)) {
56
+
57
+ return 1;
58
+
59
+ }
60
+
61
+
62
+
63
+ char[] c1 = obj1.toCharArray();
64
+
65
+ char[] c2 = obj2.toCharArray();
66
+
67
+
68
+
69
+ int a = 0;
70
+
71
+ for (int i = 0; i < c1.length && 1 < c2.length; i++) {
72
+
73
+ String s1 = ((Character) c1[i]).toString();
74
+
75
+ String s2 = ((Character) c2[i]).toString();
76
+
77
+
78
+
79
+
80
+
81
+ if (s1.startsWith("A") || s2.startsWith("A")) { // 対象の判定をすべて書いてください。
82
+
83
+ a = s1.compareTo(s2);
84
+
85
+ } else {
86
+
87
+ a = s1.compareToIgnoreCase(s2);
88
+
89
+ }
90
+
91
+ if (a != 0) {
92
+
93
+ return a;
94
+
95
+ }
96
+
97
+ }
98
+
99
+ return a;
100
+
101
+ });
102
+
103
+
104
+
105
+ System.out.println(foo);
106
+
107
+ }
108
+
109
+ }
110
+
111
+
112
+
113
+ ```