[英]Java: Initialize an array of 0.0 or 1 or “A” with size n*1 or size n*m
我还是 Java 的新手。
我想知道是否有一种快速的方法来初始化 Java 数组,其大小( n*1
或n*m
)和值( 0.0, or 1, or "A"
)提供。
在这篇文章中, ArrayList 在一行中的初始化,intilizing Java 数组如下所示:
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
或者
List<String> list = ["A", "B", "C"];
或者
List<String> list = List.of("A", "B", "C");
但是,它们都不是我想要的。
我想知道是否可以使用0.0
(双数组)或1
(整数数组)或"A"
(字符串数组)来初始化大小为n*1
或n*m
的 Java 数组。
这些初始化将是 matlab/python 中的一/两行代码,例如在 python 中, ZerosVector = numpy.zeros((n,1))
将返回一个带零的n*1
向量。 在 matlab CellMatrix = cell(10,20); CellMatrix(:) ="A"
CellMatrix = cell(10,20); CellMatrix(:) ="A"
将返回带有字符串“A”的单元矩阵。
Java 中是否有任何等效的包/实现可以在不使用循环的情况下进行如此快速的初始化?
要将其制成单线,您可以制作一个简单的方法,就可以了。 您可以传递大小和值并返回新的ArrayList :
static ArrayList<String> populateArrayList(int size, String defaultValue) {
ArrayList<String> list = new ArrayList<String>();
for (int i=0; i<size; i++)
list.add(defaultValue);
return list;
}
如果您希望使用 static list - array ,则可以应用类似的代码:
static String[] populateArray(int size, String defaultValue) {
String[] array = new String[size];
for (int i=0; i<size; i++)
array[i] = defaultValue;
return array;
}
然后使用,只需调用该方法并将其返回值分配给一个新列表:
ArrayList<String> data1 = populateArrayList(100, "Doggo");
String[] data2 = populateArray(100, "Moo-moo");
如注释中所述,不同数据类型的变量具有其默认值,用于 arrays、object 参数等。
更多关于这里的默认值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.