是否有用于创建具有指定大小和内容的列表的实用方法?

pie*_*era 4 java utility apache-commons utility-method

public static <T> List<T> repeat(T contents, int length) {
    List<T> list = new ArrayList<T>();
    for (int i = 0; i < length; i++) {
        list.add(contents);
    }
    return list;
}
Run Code Online (Sandbox Code Playgroud)

这是我们的专有公共库中的实用方法.它对于创建列表很有用.例如,我可能想要一个包含68个问号的列表来生成大型SQL查询.这使您可以在一行代码中执行此操作,而不是四行代码.

在java/apache-commons中是否有一个实用程序类已经这样做了?我浏览了ListUtils,CollectionUtils,Arrays,Collections,几乎我能想到的一切,但我无法在任何地方找到它.我不喜欢在我的代码中保留通用实用程序方法,如果可能的话,因为它们通常是apache库的冗余.

rat*_*eak 16

collections util类将帮助您

list = Collections.nCopies(length,contents);
Run Code Online (Sandbox Code Playgroud)

或者如果你想要一个可变列表

list = new ArrayList<T>(Collections.nCopies(length,contents));
           // or whatever List implementation you want.
Run Code Online (Sandbox Code Playgroud)