Java 从垂直数组中获取单个列表并水平存储
我有一个一维字符串,所以Java 从垂直数组中获取单个列表并水平存储,java,arrays,string,matrix,weka,Java,Arrays,String,Matrix,Weka,我有一个一维字符串,所以nx1,其中每个字符串是每行一列中的唯一数组,作为ArrayList给出: [x] [y] [z] 但是,我想知道在数组或列表的数量未知的情况下,如何在一般意义上做到这一点。因此,必须实现类似于list.all(valueHere)的功能 预期输出-类似于: [x][y][z] 编辑: 本质上,可能是一个for循环可以做到这一点: 从循环中选择各个列表(可能是根据其长度),然后将其粘贴在一起或水平存储为列表 也许需要一个空数组,它使用这些数组来填充它们: //step
nx1
,其中每个字符串是每行一列中的唯一数组,作为ArrayList给出:
[x]
[y]
[z]
但是,我想知道在数组或列表的数量未知的情况下,如何在一般意义上做到这一点。因此,必须实现类似于list.all(valueHere)
的功能
预期输出-类似于:
[x][y][z]
编辑:
本质上,可能是一个for循环可以做到这一点:
从循环中选择各个列表(可能是根据其长度),然后将其粘贴在一起或水平存储为列表
也许需要一个空数组,它使用这些数组来填充它们:
//step 1
[x]
[y]
[z]
//step2
[x][y]
[z]
//step3
[x][y][z]
//second example
/empty array
[][][]
//list
[x]
[y]
[z]
//step 1
[x][][]
[y]
[z]
//step 2
[x][y][]
[z]
//step 3
[x][y][z]
我已通过以下操作成功获取此列表中的第一个元素,但并非所有元素都将被替换:
String[]yourArr=新字符串[test.numInstances()];
对于(int i=0;i,经过大量阅读并利用@GhostCat提供的洞察力,我已经设法找到了我需要的东西
我首先必须创建一个空的虚拟数组:
String[] submit = null;
以及另一个虚拟数组,该数组包含实例数的长度(或我要查找的字符串的长度)
然后创建一个for循环,将.arff
数据的类索引中的实例存储到一个数组中。然后将该数组存储到ampty数组yourArr
,最后将此范围复制到另一个范围中:
for(int i = 0; i<test.numInstances();i++) {
String trueClassLabel = test.instance(i).toString(test.classIndex());
s = new String[] {trueClassLabel};
yourArr[i] = s[0];
submit = Arrays.copyOfRange(yourArr, 0, i);
}
输出:
[输,输,输,抽,赢,输,输,抽,赢,赢,赢]
您可以像下面这样加入字符串数组:string.join(“,t)。反向操作将被拆分(“”)添加当前输出和预期输出output@Stackbeans从某种意义上说,这个一维数组是一个水平数组。这取决于你如何解释你的代码和你的数据结构。在一个一维数组中没有翻转?@GhostCat我更新了这个问题,而不是提出一个新的问题。这是我最初想要的。也许是“重复的”问题',不再适用?
for(int i = 0; i<test.numInstances();i++) {
String trueClassLabel = test.instance(i).toString(test.classIndex());
s = new String[] {trueClassLabel};
yourArr[i] = s[0];
submit = Arrays.copyOfRange(yourArr, 0, i);
}
System.out.println(Arrays.toString(submit));