2014-05-10 4 views
0

저는 C++에서 Java로 프로그램을 다시 작성하고 있습니다. C++에서 나는 객체의 2 차원 배열과 그 객체에 대한 포인터의 배열을 정렬 할 수 있습니다. 배열의 모든 요소가 객체를 포함하는 것은 아닙니다. 저는 Java에 익숙하지 않아 포인터가없는 방법을 잘 모릅니다. 그래서Java에서 포인터가 같은 배열

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 

자바 자바의 모든 객체 (포인터-종류로 간주 될 수 있습니다) 참조를 통해 관리됩니다

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++; 
    } 
     } 
} 
+0

Java로 노력 해주십시오. 왜 포인터의 배열을 유지하고 싶습니까? 자바가 어떻게 동작 하는지를 알기 위해 작은 튜토리얼을보십시오. – tod

+0

Java 동등 물이 어떻게 보일 것이라고 생각합니까? – Lilshieste

답변

1

(잘못) : 이 C++ 코드의 조각이다 방금 직접 값을 사용해야 : 참조 해제 부재 액세스 프로그래머 숨겨진 각 변수 또는 셀 어레이와 같이 동작한다

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; 
    } 
} 

내부 동작을 난 null 또는 직접 값.

0

내가 목록 자바에 상장하고자하는 생각 할 수 있음 :

List myList = new ArrayList <MyType>(); 
List myList = new ArrayList(); 

사용자 지정 목록을 작성.