Java-将数组值传递给第二个数组

Java-将数组值传递给第二个数组,java,arrays,Java,Arrays,我试图找出如何获取一个数组的值并将其传递给另一个数组。底部的图像是我可以用crimeArrayNumbers归结为的数组。我试图将每个索引(如索引1)分别存储在另一个类中的数组中。在本例中,另一个类中的数组ifnewuscrimarrays.population。理想情况下,我会尝试为每一列创建一个数组,这样我就可以操纵它们并进行数学和搜索操作 我做了一些研究,认为Arrays.copyOfRange或System.arraycopy()可能有效。然而,我现在不知道如何正确地实施。有没有更简单或

我试图找出如何获取一个数组的值并将其传递给另一个数组。底部的图像是我可以用
crimeArrayNumbers
归结为的数组。我试图将每个索引(如索引1)分别存储在另一个类中的数组中。在本例中,另一个类中的数组if
newuscrimarrays.population
。理想情况下,我会尝试为每一列创建一个数组,这样我就可以操纵它们并进行数学和搜索操作

我做了一些研究,认为
Arrays.copyOfRange
System.arraycopy()
可能有效。然而,我现在不知道如何正确地实施。有没有更简单或更有效的方法

try {
    br = new BufferedReader(new FileReader(newUSCrimes.fileName));
    while ((line = br.readLine()) != null && !line.isEmpty()) {
        String[] crimesArray = line.split(csvComma);
        long[] crimesArrayNumbers = new long[crimesArray.length];

        //resting the index inside the main loop
        index = 0;
        for (int i = 0; i < crimesArrayNumbers.length; i++) {
            try {
                crimesArrayNumbers[index] = Long.parseLong(crimesArray[i]);
                index++;
                newUSCrimeArrays.population = Arrays.copyOfRange(crimesArrayNumbers, 0, 0);

            } catch (IndexOutOfBoundsException | NumberFormatException ioob) {
            }

        } //end for loop
        crimesArrayNumbers = Arrays.copyOf(crimesArrayNumbers, index);
        System.out.println(Arrays.toString(crimesArrayNumbers));
    }//end try
    System.out.println();
    System.out.println(Arrays.toString(newUSCrimeArrays.population));

} catch (FileNotFoundException e) {
} catch (IOException e) {
} finally {
    if (br != null) {
        try {
            br.close();
        } catch (IOException e) {
        }
    }
}
试试看{
br=新的BufferedReader(新的文件读取器(newUSCrimes.fileName));
而((line=br.readLine())!=null&&!line.isEmpty()){
String[]crimesArray=line.split(csvComma);
long[]crimesArray.length=新的long[crimesArray.length];
//将索引放在主循环内
指数=0;
for(int i=0;i

如果我很了解您要做的事情,您需要将一些数据从文件导入数组,然后将此数组的内容复制到另一个数组中。如果是这种情况,您可以使用
Arrays.copyOf(source,length)
。这将复制
数组,创建具有给定长度的新数组。如果新长度小于旧长度,该方法将截断,否则,它将用空值填充新部分

因此,不要每次迭代都这样做:

newuscrimarrays.population=Arrays.copyOfRange(crimesArrayNumbers,0,0)

您只需在
for
循环的末尾调用如下简单内容:

newuscrimarrays.population=Arrays.copyOf(crimesArrayNumbers,crimesArrayNumbers.length)

除此之外,还可以使用
clone()
,这是从
对象继承的方法。在原语数组(int、bool…)中,这将对内容进行深度复制,这意味着将创建每个值的副本。

但是,您必须非常谨慎地使用此方法,因为如果数组不包含基元,它的行为会有所不同。

如果我已经很好地理解了您试图执行的操作,您需要将一些数据从文件导入数组,然后将此数组的内容复制到另一个数组中。如果是这种情况,您可以使用
Arrays.copyOf(source,length)
。这将复制
数组,创建具有给定长度的新数组。如果新长度小于旧长度,该方法将截断,否则,它将用空值填充新部分

因此,不要每次迭代都这样做:

newuscrimarrays.population=Arrays.copyOfRange(crimesArrayNumbers,0,0)

您只需在
for
循环的末尾调用如下简单内容:

newuscrimarrays.population=Arrays.copyOf(crimesArrayNumbers,crimesArrayNumbers.length)

除此之外,还可以使用
clone()
,这是从
对象继承的方法。在原语数组(int、bool…)中,这将对内容进行深度复制,这意味着将创建每个值的副本。

但是,您必须非常谨慎地使用此方法,因为如果数组不包含原语,它的行为会有所不同。

我建议您阅读一下为什么不应使用
clone()
方法:1。2.3.谢谢,我给了他们一个快速阅读。正如我指定的,我建议使用
clone()
方法来处理原语数组,我知道它在其他情况下会做一些不同的事情。我将对问题进行编辑以澄清这一点。我建议您阅读一下为什么不应使用
clone()
方法:1。2.3.谢谢,我给了他们一个快速阅读。正如我指定的,我建议使用
clone()
方法来处理原语数组,我知道它在其他情况下会做一些不同的事情。我将编辑问题以澄清这一点。