我想创建这样一个矩阵:访问矩阵的箱子
这是一个图形的一个矩阵,其中a
,b
,c
等等都是变换如果顶点被断开,则顶点和值代表0
,如果它们连接,则代表1
。
我随机抽取两个顶点(即c
和d
),我想访问矩阵中那些顶点的值M [c] [d],还有M [d] [c]。
我该怎么做?
我想创建这样一个矩阵:访问矩阵的箱子
这是一个图形的一个矩阵,其中a
,b
,c
等等都是变换如果顶点被断开,则顶点和值代表0
,如果它们连接,则代表1
。
我随机抽取两个顶点(即c
和d
),我想访问矩阵中那些顶点的值M [c] [d],还有M [d] [c]。
我该怎么做?
如果trylly要使用字母(chars
)为指标,那么你就必须采取另一种方法。您可以创建自己的结构,将char
作为索引。由于二维数组可以看作是一组数组,因此可以使用Map
或Map
对象。
您将无法按照您期望的方式访问对象,而必须调用map.get('c').get('d')
。
另一种方法是创建一种“rosetta stone”,将您的char
转换为相应的索引。这对于小图很有用,因为大图会生成矩阵并获取索引取决于您如何解决它们。例如:
public class IndexInterpreter {
//Using a switch here to illustrate, you can make your own mapping logic.
public static int getIndex(char letter) {
switch(letter) {
case 'a':
return 0;
case 'b':
return 1;
//the swtich goes on and on...
}
}
}
,然后,一边拨打矩阵你刚才的字母翻译成他们相应的指标:
int i1 = IndexInterpreter.getIndex('c');
int i2 = IndexInterpreter.getIndex('d');
m[i1][i2]
,或者,如果你喜欢
m[IndexInterpreter.getIndex('c')][IndexInterpreter.getIndex('d')]
如果要使用整数指标,而不是字母,你就可以说m[2][3]
,如果矩阵被定义为:int[][] m
;
如果您需要使用字符串坐标访问值,可能应该查看Guava的Table类,请参阅:http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Table.html。 这样,你就可以宣布你的矩阵,如:Table<String,String,String>
和使用插入值:put(String rowKey, String columnKey, String value)
方法和使用get(String rowKey, String columnKey)
不是我downvote! – user1543915
谢谢@MyNameIsTooCommon和user1543915改变否定的投票:)。 – dan
矩阵访问它们将是一个二维数组
String[][] matrix = new String[6][7]
然后你可以使用填充它
matrix[1][1] = "1";
为了得到你想要的,你贵方觉得做电池
String val = mattix[3][5];
这link可以帮助
我已编辑我的问题 – user1543915
I变换graphe在一个矩阵,a,b,c ...是顶点,如果是独立的,则为1,如果是顶点依赖的话。然后我随机取两个顶点(exp:c和d),并且我想使用M [c] [d]和M [d] [c] – user1543915
,但是就代码而言 - 你试过了吗? 你的数组是由什么组成的?字符,字符串,整数? 你如何尝试访问所需的单元格?等等等等! – peshkira
所有单元格都是字符串 – user1543915