Java で文字列内の文字のインデックス配列を返すメソッドを作成する必要があります。以下は適切ですか (正確性、効率性、可能な限り短いコード)?
int[] charIndexArray(String s, char c) {
int start = 0;
List<Integer> list = new ArrayList<Integer>();
while ((start = s.indexOf(c, start)) != -1) {
list.add(start);
start++;
}
int arr[] = new int[list.size()];
for (int i = 0; i < ret.length; i++)
arr[i] = list.get(i);
return arr;
}