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]
[ツッコミを入れる]