Java:初始化0.0或1或"A"的数组,大小为n*1或大小为n*m
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"
)。
在这个post中,
Initialization of an ArrayList in one line,intilizingJava数组给出如下:
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");
然而,其中 none 个是我想要的。
我想知道是否可以用 0.0
(双数组)或 [=21= 初始化大小为 n*1
或 n*m
的 Java 数组](整数数组),或 "A"
(字符串数组)。
这些初始化将是matlab/python中的one/two行代码,例如在 python 中,ZerosVector = numpy.zeros((n,1))
将 return 一个带有零的 n*1
向量。在 matlab 中 CellMatrix = cell(10,20); CellMatrix(:) ="A"
将 return 带有字符串“A”的单元格矩阵。
在 Java 中是否有等效的 package/implementation 来实现如此快速的初始化而不使用循环?
做成单行,你可以做一个简单的方法,就可以了。
您可以传递大小和值以及 return 新的 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;
}
如果你想使用静态列表 - 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;
}
然后要使用,只需调用方法并将其returned 值分配给新列表:
ArrayList<String> data1 = populateArrayList(100, "Doggo");
String[] data2 = populateArray(100, "Moo-moo");
默认值
正如评论中所述,不同数据类型的变量都有其默认值,用于数组、对象参数等。
- 对于数字,它是 0,
- 对于布尔值 - 真,
- 对于 String 和其他类型,它是 null
更多关于默认值的信息here
我还是Java的新手。
我想知道是否有一种快速的方法来初始化 Java 数组,其中提供了大小(n*1
或 n*m
)和值(0.0, or 1, or "A"
)。
在这个post中, Initialization of an ArrayList in one line,intilizingJava数组给出如下:
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");
然而,其中 none 个是我想要的。
我想知道是否可以用 0.0
(双数组)或 [=21= 初始化大小为 n*1
或 n*m
的 Java 数组](整数数组),或 "A"
(字符串数组)。
这些初始化将是matlab/python中的one/two行代码,例如在 python 中,ZerosVector = numpy.zeros((n,1))
将 return 一个带有零的 n*1
向量。在 matlab 中 CellMatrix = cell(10,20); CellMatrix(:) ="A"
将 return 带有字符串“A”的单元格矩阵。
在 Java 中是否有等效的 package/implementation 来实现如此快速的初始化而不使用循环?
做成单行,你可以做一个简单的方法,就可以了。
您可以传递大小和值以及 return 新的 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;
}
如果你想使用静态列表 - 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;
}
然后要使用,只需调用方法并将其returned 值分配给新列表:
ArrayList<String> data1 = populateArrayList(100, "Doggo");
String[] data2 = populateArray(100, "Moo-moo");
默认值
正如评论中所述,不同数据类型的变量都有其默认值,用于数组、对象参数等。
- 对于数字,它是 0,
- 对于布尔值 - 真,
- 对于 String 和其他类型,它是 null
更多关于默认值的信息here