以下是我目前掌握的代码:
public static int mode(int[][] arr) {
ArrayList<Integer> list = new ArrayList<Integer>();
int temp = 0;
for(int i = 0; i < arr.length; i ++) {
for(int s = 0; s < arr.length; s ++) {
temp = arr[i][s];
我似乎在这一点上被困在如何得到 [i][s]
变成一个一维数组。当我做一个 print(temp)
我的二维数组中的所有元素都按顺序一次打印一个,但无法确定如何将它们放入一维数组中。我是个新手:(
如何将二维数组转换为一维数组?
我目前使用的二维阵列是3x3。我试图找出2d数组中所有整数的数学模式,如果这个背景很重要的话。
8条答案
按热度按时间axr492tv1#
在Java8中,可以使用对象流将矩阵Map到向量。
将任意类型和任意长度的对象矩阵转换为向量(数组)
如果你在寻找int特定的方法,我会选择:
fv2wmkja2#
“如何将二维数组转换为一维数组?”
7cjasjjr3#
导入java.util.*;
公共类主{
}
fafcakar4#
更改为:
rkttyhzu5#
我知道已经有人回答了,但这是我的答案。此函数将获取2d数组输入并返回1d数组输出。
jmo0nnb36#
你几乎是对的。只是一个小小的改变:
k7fdbhmy7#
我不确定您是要将2d数组转换为1d数组(如您的问题所述),还是要将2d数组中的值放入arraylist中。我假设是第一种,但我很快会说,对于后者,你所需要做的就是打电话
list.add(temp)
,尽管temp
在当前代码中实际上是不需要的。如果您尝试使用1d数组,那么以下代码就足够了:
vltsax258#
system.arraycopy应该比我们能写的任何东西都快。还可以对行使用内置的java迭代器。下面是一个双数组的例子。您应该能够使用任何类型或类。如果行的长度都相同,则totalNumberRelations=array2d.length*array2d[0].length;