Java:矩阵数据类型,用于根据坐标插入值

时间:2011-10-26 16:57:05

标签: java

我有一个要求,我需要读取值及其坐标,并将它们放入矩阵中以便稍后显示。

所以我要说以下内容:
    <name='abc', coordinates='1,3'>
   <name='xyz', coordinates='2,1'>
    ...............................

现在我需要根据它们的坐标值将它们放在一个'矩阵集合中“并显示为表格(表格中的单元格占据各自的坐标槽)。

在java中有没有一个集合/方式来做到这一点?请注意,我不需要挥杆或任何图形库技术。我只需要一个数据结构就可以做到这一点。

谢谢你 BC

3 个答案:

答案 0 :(得分:4)

你可以使用Guava的Table class

答案 1 :(得分:1)

如果您事先知道网格的边界,则可以使用二维数组:

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

如果不这样做,一种模拟方法是使用列表列表:

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

答案 2 :(得分:1)

对于你AFAIK,没有什么会自动执行此操作。您需要从提取数据开始。根据它提供给你的方式,你可以使用正则表达式或一些专门的解析器(如果是XML,那么Java中有很多工具选择。)

接下来,您将需要拆分该坐标String。查看课程String的{​​{3}}。

最后,这些坐标需要成为整数。查看课程Integer的{​​{3}}。

使用这些现在的数值坐标,您可以将值插入数组中。如果事先知道最大坐标,则可以立即创建阵列。如果坐标可以是没有边界的任何值,则需要一些动态结构或定期制作更大的数组并复制旧内容。