我有一个要求,我需要读取值及其坐标,并将它们放入矩阵中以便稍后显示。
所以我要说以下内容:
<name='abc', coordinates='1,3'>
<name='xyz', coordinates='2,1'>
...............................
现在我需要根据它们的坐标值将它们放在一个'矩阵集合中“并显示为表格(表格中的单元格占据各自的坐标槽)。
在java中有没有一个集合/方式来做到这一点?请注意,我不需要挥杆或任何图形库技术。我只需要一个数据结构就可以做到这一点。
谢谢你 BC
答案 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}}。
使用这些现在的数值坐标,您可以将值插入数组中。如果事先知道最大坐标,则可以立即创建阵列。如果坐标可以是没有边界的任何值,则需要一些动态结构或定期制作更大的数组并复制旧内容。