相关疑难解决方法(0)

多维数组上的高效System.arraycopy

我知道一个常见的性能重构是替换简单forSystem.arraycopy.

我想问一下:

  1. system.arraycopy究竟何时开始有意义(考虑到它是本机方法调用).复制小事说,<32有什么优势吗?

  2. 这是我的印象,还是不可能简单地使用arraycopy复制(有效)这样的循环:

       for (int j = 0; j < 2; ++j) {
           vpr[m][s + j][i] = vr[j];
       }
    
    Run Code Online (Sandbox Code Playgroud)

java arrays

10
推荐指数
3
解决办法
2万
查看次数

Java N维数组

我需要能够有一个n维字段,其中n基于构造函数的输入.但我甚至不确定这是否可行.是吗?

java constructor multidimensional-array

9
推荐指数
1
解决办法
1万
查看次数

在java中加载2d数组的所有值

我正在尝试创建一个2D拼图滑块游戏.我创建了自己的对象gamestate来存储父游戏状态和新的游戏状态,因为我计划使用BFS解决它.示例数组看起来像

int[][] tArr = {{1,5,2},{3,4,0},{6,8,7}};
Run Code Online (Sandbox Code Playgroud)

这暗示着

[1,5,2,3,4,0,6,8,7]

为了存储这个状态,我使用了以下for循环,它带来了indexOutOfBounds exceptions.

public class GameState {
public int[][] state; //state of the puzzle
public GameState parent; //parent in the game tree

public GameState() {
    //initialize state to zeros, parent to null
    state = new int[0][0];
    parent = null;
}

public GameState(int[][] state) {
    //initialize this.state to state, parent to null
    this.state = state;

    parent = null;
}

public GameState(int[][] state, GameState parent) {
    //initialize this.state to state, this.parent to parent
    this.state …
Run Code Online (Sandbox Code Playgroud)

java arrays 2d indexoutofboundsexception

5
推荐指数
1
解决办法
87
查看次数

Java对象混乱

我目前正在创建一个Android应用程序,并认为我在内部保存数据有问题等.事实证明问题与此无关,而是我对Java的理解.

问题是,当我这样做

myObject1 = myObject2;

并使用myObject1myObject3这可能是一个列表,或任何(对我来说一个Hashtable),然后改变myObject2,myObject3得到相应的改变,也是如此.这叫什么,我在哪里可以了解更多信息?如何分配myObject2myObject1,这样myObject1是完全"独立"?

java android pointers object

1
推荐指数
1
解决办法
96
查看次数

如何在java中正确复制对象?

我一直在这个小项目,我花了20个小时解决(没有运气或结果)代码中的一个主要问题.现在,我发现真正的问题是copy()函数不能正常工作.

我究竟做错了什么?

这是我对特定问题所做的例子:

package cloneobject;

import java.util.Arrays;

public class CloneObject {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        clone(new int[3][3]);
    }

    public static void clone(int[][] x) {
        int[][] y = (int[][]) x.clone();
        System.out.println("x=");
        PrintFieldImage(x);
        System.out.println("y=");
        PrintFieldImage(y);
        x[1][1] = 3;        
        System.out.println("x=");
        PrintFieldImage(x);
        System.out.println("y=");
        PrintFieldImage(y);
        y[2][2] = 4;
        System.out.println("x=");
        PrintFieldImage(x);
        System.out.println("y=");
        PrintFieldImage(y);
    }

    public static void PrintFieldImage(int[][] field) {
        if (field != null) {
            int x;
            for (x …
Run Code Online (Sandbox Code Playgroud)

java arrays multidimensional-array

1
推荐指数
1
解决办法
2686
查看次数