寻找模仿Java中的一系列指针的建议

时间:2013-03-20 15:30:58

标签: java arrays

我正在开发一个Java软件项目,我想创建一个“瀑布式”显示,我需要在屏幕底部绘制一行颜色编码数据,然后“移动”行随着数据的老化和新行的创建。在我看来,尽管可以创建行数据,然后通过表示显示区域的2d数组移动行数组,但这不是一种非常有效的方法。

显然,如果我用C或C ++编写,我会使用指针(和指针数组)。

如何在Java中实现它?

2 个答案:

答案 0 :(得分:3)

在任何情况下,Java数组都不是真正的双向数组。它们是数组的数组。所以你可以通过引用轻松完成:

public void foo() {
  int[][] data = new int[32][32];
  ...
  for (int i = 32; i > 0; --i)
    data[i-1] = data[i];
}

这与你在C ++中的表现有些相似

public void foo() {
  int **data = new int*[32];
  for (int i = 0; i < 32; ++i)
    data[i] = new int[32];
  ...
  for (int i = 32; i > 0; --i)
    data[i-1] = data[i];
}

答案 1 :(得分:1)

Java有一个LinkedList类,就像C中的(双重)链表一样,只能以面向对象的(TM)方式工作。

请参阅:http://docs.oracle.com/javase/6/docs/api/java/util/LinkedList.html
并且:When to use LinkedList over ArrayList?