我正在使用Java而我正在使用向量'set'来存储数据
当我读取每一行并将其存储在数组值[]中时,这是从文本文件创建的。然后我有一个向量'set',并且对于每一行,我将值[]添加到向量'set',因此在读取文本文件中的所有数据之后,set如上所示。
然后用户可以选择输入他想要的数据量,例如,如果他输入50,那么将使用一半的向量(前7行):
public void pro(int percentage)
{
int noOfEx = percentage*set.size()/100;
root.keptEx = new Vector(set.subList(0, noOfEx));
}
但是,我希望这些线条是随机拍摄的,而不是相继拍摄的,但我无法弄清楚如何随机拍摄。还有一种方法可以打印出矢量的值吗?因为
System.out.println(keptEx)
显示奇怪的符号而非实际内容。
答案 0 :(得分:0)
随机播放行列表:
Collections.shuffle(list);
然后获取洗牌列表的前N行。请注意,调用set
实际上是一个列表并不是一个好主意。另请注意,自Java 2以来不再使用Vector,而且我们使用的是Java 8.请使用ArrayList。并使用泛型类型,而不是原始类型。这些存在于Java 5之后。
打印列表的最简单方法是使其包含列表而不是数组(即您将使用List<List<Integer>>
而不是List<int[]>
(假设您拥有的是什么)如果你想继续使用数组,那么你必须遍历列表中的每个元素:
for (int[] row : list) {
System.out.println(Arrays.toString(row));
}