>>434にあるforを使わずに
Object[] toArray(Object[] a) という関数を用いて

b=a.toArray(new Integer[a.size()]);

のように1行で書けるならそっちのほうがよりよいのかなと思ったのですが、
Integer[] → int[] へのキャストがわからずエラーがでてしまいます。

>>434のようにforで書いた方がよさげですか?