2013年10月18日(金) [長年日記]
■ [java] java.util.Listを拡張する
C++のstd::vector#resize()のようにJavaのListのサイズを拡大したかったのだけれど、Listにはresize()メソッドは無い。
Collectionsのドキュメントを眺めていたらCollections#nCopies()の説明に
このメソッドは、List.addAll メソッドとともにリストを拡張するために使われます。
とあったので、このメソッドを使うのがいいみたい。意外と難しかったのでメモ。
import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; public class ListResize { public static void main(String[] args) { List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3)); list.addAll(Collections.<Integer>nCopies(5, null)); System.out.println(list); } }
[1, 2, 3, null, null, null, null, null]