2015-01-25 2 views
0

Каков наилучший подход к стандартным механизмам игры с матричными указателями в Java?Матричные указатели в Java

Basicallly У меня есть матрица и мне нравится работать с чем-то вроде cellPointers , где я могу получить getXaxisIndex(), getYaxisIndex() и getCellValue().

Если только стандартные массивы хранятся ссылки, как это ...:

myMatrix[1][3]=235 //Auto or myMatrix[1][3].setValue(235) 
myPointer=myMatrix[1][3] 
myPointer.getX()=1 
myPointer.getY()=3 
myPointer.getValue()=235 
+1

Код устаревшего кода, ноу-хау, многие причины, по которым я не могу оценить переход на C для этой конкретной потребности, но спасибо за предложение – Whimusical

+1

Нет стандартного механизма, насколько мне известно ... Возможно, общий класс 'Pointer' с методами' getX() ',' getY() ',' getValue() ',' setValue() 'и т. д.? И тогда у вас есть матрица этих «указателей»? А может быть, класс «Матрица», который обертывает фактическую матрицу? –

+1

@ user1352530 Ничего, я неправильно истолковал вопрос. Как отмечает Magnamag, вы не можете «распространять» родные типы. Путь (только) - это использовать свои собственные классы. –

ответ

1

Что Вы могли бы реализовать это

class Cell { 
    Cell(int x, int y){...} 
    Cell(int x, int y, int value){...} 
    int getX(){...} 
    int getY(){...} 
    int getValue(){...} 
} 

class Table { 
    Table(int rows, int cols){...} 
    void put(Cell c){...} 
    Cell get(int x, int y){...} 
} 

ли или нет Таблица должна содержать ячейки [] [] зависит от некоторых детали, о которых вы не упомянули. Для большого и разреженного массива можно рассмотреть хэш-карту.

Смежные вопросы