Java: матричный тип данных для вставки значений на основе их координат

#java

#java

Вопрос:

У меня есть требование, в котором мне нужно прочитать значения и их координаты и поместить их в матрицу для последующего отображения.

итак, допустим, у меня есть следующее:
<name='abc', coordinates='1,3'>
<name='xyz', coordinates='2,1'>
………………………….

Теперь мне нужно поместить их в «матричную коллекцию» на основе их значений координат и отобразить в виде таблицы (с ячейками в таблице, занимающими соответствующий слот координат).

Есть ли коллекция / способ сделать это в Java? Имейте в виду, мне не нужны swing или какие-либо методы графической библиотеки. Для этого мне просто нужна структура данных.

Спасибо
, BC

Комментарии:

1. По умолчанию ничего, почему бы не использовать массив массивов?

Ответ №1:

Вы могли бы использовать класс Table из Guava.

Комментарии:

1. Как вы использовали этот класс для достижения своего результата? Я не понимаю, как это разделит ваши координаты на два целых числа. Гуава регулярно рекомендуется в последних ответах, и это меня интересует.

2. Объявите свою таблицу как Table<Целое число, целое число, значение>, и вы можете обрабатывать индексы как координаты.

Ответ №2:

Если вы заранее знаете границы своей сетки, вы можете использовать 2-мерный массив:

 int[][] matrix = new int [n][n];
  

Если вы этого не сделаете, один из способов эмулировать это с помощью списка списков:

 ArrayList <ArrayList<Integer> > matrix = new ArrayList <ArrayList <Integer> >();
  

Ответ №3:

Ничто не сделает это автоматически для вас AFAIK. Вам нужно начать с извлечения данных. В зависимости от того, как это предлагается вам, вы можете использовать регулярные выражения или какой-либо специализированный анализатор (если это XML, в Java есть широкий выбор инструментов).

Далее вам нужно будет разделить эту строку координат. Проверьте метод split класса String .

Наконец, эти координаты должны стать целыми числами. Проверьте метод parseInt класса Integer .

Теперь с этими числовыми координатами вы можете вставить значение в массив. Если вы заранее знаете максимальные координаты, вы можете сразу создать массив. Если координатами может быть любое значение без ограничений, вам понадобится некоторая динамическая структура или регулярно создавайте больший массив и копируйте старое содержимое.