我只是想问一下如何才能实现获取二维表中的数据列表?表格按(行,列,数据)顺序...
Table Sample 因此,如果您要按对角顺序排列该表中的数据,您将在列表中看到类似 [(4,1,B),(4,2,B),(5,3,A),(1,1,A),(2,2,B),(2,3,A),(2,4,B),(1,5,A)] 的内容。
最佳答案
假设左下单元格是(0,0),右上单元格是(n,n)。然后,单元格的两个索引之和即可得出排序所需的对角线数。
如果两个单元格位于同一条对角线上,则列索引较低的单元格应排在前面。
最后,由于行索引从上到下递增,所以使用时应将行索引取反。
那就是:
int aDiag = a.getCol() - a.getRow();
int bDiag = b.getCol() - b.getRow();
return aDiag != bDiag ? aDiag - bDiag : a.getCol() - b.getCol();
也就是说,如果对角线不同,则仅使用对角线。如果它们相等,则使用列索引。
关于java - 如何在 Java 中按对角排序顺序获取此列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33059457/