在Java中等价的指针数组
array of pointers equivalent in Java
我正在将程序从c++重写为Java。在c++中,我有二维对象数组和指向这些对象的指针数组,以便对它们进行排序。不是数组的每个元素都包含object。我是Java的新手,我不确定没有指针该怎么办。下面是c++中的一段代码:
Type ** array[SIZE*SIZE];
int k=0;
for(int i=0; i<SIZE; i++)
{
for(int j=0; j<SIZE; j++)
{
if(this->array_of_objects[i][j]!=NULL)
{
array[k] = &this->array_of_objects[i][j];
k++;
}
}
}
//then I sort
Java(错误的)
Type array[];
for(int i=0; i<SIZE*SIZE; i++)
array[i] = null;
int k=0;
for(int i=0; i<SIZE; i++) {
for(int j=0; j<SIZE; j++) {
if(array_of_objects[i][j]!=null) {
array[k] = array_of_objects[i][j];
k++;
}
}
}
java中的每个对象都是通过引用管理的(可以认为是指针类型),所以您只需要直接使用值:
Type[][] array_of_objects; // array_of_objects[i][j] contains either a value or null
Type[] array = new Type[SIZE * SIZE];
int i = 0;
for (Type[] subarray : array_of_objects) {
for (Type value : subarray) {
array[i++] = value;
}
}
具有解引用和成员访问的内部工作对程序员是隐藏的,其行为就像每个变量或数组单元格要么为空,要么直接为值。
可能会这样做,我想看看列表上的列表java:
List myList = new ArrayList <MyType> ();
List myList = new ArrayList ();
创建自定义列表。
相关文章:
- 指向指向字符数组的指针数组的指针
- 通过指向指针数组的指针访问子类的属性
- C++,指针数组,指向双链表中的条目
- 在C++中,如何初始化指向wchar_t*的指针数组(生成wchar_t**)
- C++从函数指针数组调用函数
- 关于指向指针数组的指针
- 将返回值存储在函数指针数组的指针中是如何工作的?
- 将链表转换为指针数组时出错
- C++ 对象指针数组的复制构造函数
- C++ - 循环访问指针数组会导致错误
- 删除指针数组 (C++) 中的元素
- 如何循环访问 cpp 中的函数返回的字符指针数组
- 将函数指针数组中的函数指针作为模板参数传递
- Google Or-Tools Glop:如何创建指向 const 对象的指针数组?
- 具有推导参数的模板函数指针数组变量
- 如何模板化堆栈分配的多态指针数组到接口,包括派生类型的相应点?
- C++指针数组到字符数组中的特定位置
- 如何在C++中复制指针数组的数据
- 初始化类中的指针数组,并在另一个类中检索它
- 尽管直接设置了指针数组,但仍为空