[英]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.