すべての要素が指定された値(["foo"、 "foo"、 "foo"、 "foo"、 "foo"]など)に等しい指定された長さのリストまたは配列を生成するユーティリティメソッドがJavaにありますか?
回答:
を使用できますCollections.nCopies。これにより、オブジェクト自体ではなく、指定されたオブジェクトへの参照がコピーされることに注意してください。文字列を使用している場合は、とにかく不変であるため、問題にはなりません。
List<String> list = Collections.nCopies(5, "foo");
System.out.println(list);
[foo、foo、foo、foo、foo]
配列の場合、Arrays.fill(Object [] a、Object val)を使用できます。
String[] strArray = new String[10];
Arrays.fill(strArray, "foo");
リストが必要な場合は、
List<String> asList = Arrays.asList(strArray);
次に、2行を使用する必要があります。String[] strArray = new String [5]; Arrays.fill(strArray、 "foo");。ワンラインソリューションはありますか?
リストを取得するための1行のソリューションとしてCollections.nCopies(5、 "foo")を使用できます。
List<String> strArray = Collections.nCopies(5, "foo");
または、それを組み合わせてtoArray配列を取得します。
String[] strArray = Collections.nCopies(5, "foo").toArray(new String[5]);
String[] strArray = new String[5]; Arrays.fill(strArray, "foo");。ワンラインソリューションはありますか?