java - 从垂直数组中获取单个列表并水平存储它们
问题描述
我有一个一维字符串,因此n x 1
每个字符串都是每行一列中的唯一数组,以 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 = new String[test.numInstances()];
for(int i = 0; i<test.numInstances();i++) {
String trueClassLabel = test.instance(i).toString(test.classIndex());
s = new String[] {trueClassLabel};
yourArr[i] = s[i];
System.out.println(Arrays.deepToString(yourArr));
}
输出:
【输,空,空,空,空,空,空,空,空,空,空,空,空,空】
解决方案
经过大量阅读和利用@GhostCat 提供的见解后,我设法弄清楚了我需要什么。
我首先必须创建一个空的虚拟数组:
String[] submit = null;
连同另一个包含实例数长度的虚拟数组(或我之后的字符串长度)
String[] yourArr = new String[test.numInstances()];
然后创建一个 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);
}
然后将字符串打印为循环外的数组:
System.out.println(Arrays.toString(submit));
输出:
[输,输,输,平,赢,输,输,平,赢,赢,赢,赢,赢]
推荐阅读
- java - 使用 Tomcat 服务器在 NetBeans 中部署我的第一个 Servlet 时出现错误 500
- excel - 如何将以下数据转换为表格格式?
- java - 避免在磁盘上创建pdf文件以在java中作为附件发送电子邮件
- c++ - 在 Google Kick start 中提交时出错
- javascript - MUI 自动完成 onchange 未在芯片删除时触发
- python - CS50 Pset7 房屋问题 - 我的数据库未收集信息
- python - 从当前工作目录相对导入 python 模块
- mongoose - For循环内的猫鼬findone
- python - 为什么我的函数在 REPL 中没有被识别
- python - 遍历列表并使用 remove() 不会产生所需的结果