作者yangbernard (別了)
看板java
標題[問題] 請問有辦法使用HashTable存放這樣的資料?
時間Thu Apr 5 04:42:30 2012
有一個 4x4 的圖形,共16個node,各自的座標如下:
---------------------------
(0,0)| (0,1)| (0,2)| (0,3)|
---------------------------
(1,0)| (1,1)| (1,2)| (1,3)|
---------------------------
(2,0)| (2,1)| (2,2)| (2,3)|
---------------------------
(3,0)| (3,1)| (3,2)| (3,3)|
---------------------------
其中每個格子,又分別有4個值:上、下、左、右
例如 (1,1).right = 3 ; (0,2).down = 5;
如果用array + class的方式,我是想到可以這樣存放:
class status{
int up_score,down_score,left_score,right_score;
}
public class Maze {
public static void main(String[] args) {
int i,j;
status node[][] = new status[4][4];
for(i=0;i<4;i++){
for(j=0;j<4;j++)
{
node[i][j] = new status();
node[i][j].up_score=0;
node[i][j].down_score=0;
node[i][j].left_score=0;
node[i][j].right_score=0;
}
}
}
}
要存取哪個node的甚麼方向的值,可以很直觀的以node[x][y].(方向)_score來取值
不過如果我今天想用HashTable()的方式,用put(key, value)來實作出一樣的事情
大概要怎麼樣寫比較好呢?
謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 116.59.243.116
→ adrianshum:先告訴我為什麼要用hashtable 做這事? 04/05 18:04
→ yangbernard:單純想練習,未來可能在其他地方會用的到 04/05 21:01
→ yangbernard:HashMap在未來我資料量大時,找東西會比較快一些 04/05 21:03
推 PsMonkey:資料量大... 那也要你 VM 撐得住 04/05 22:14
→ adrianshum:map 其實就是 key 與 value 的對映。你想想你的情況 04/05 23:32
→ adrianshum:key 應該是什麼 04/05 23:32
→ yangbernard:恩我想過key就用0~15,value存放每個node 04/06 00:41
→ adrianshum:要 OO 就用比較 OO 的方法想。弄一個 "座標"的 class吧 04/06 01:12
→ yangbernard:class index { int x; int y;} 然後把其物件當作key? 04/06 01:41
→ adrianshum:方向可行,下一步你就要學怎麼寫hashcode() & equals() 04/06 23:41
→ adrianshum:不過建議你學一下 Java 的命名規則 04/06 23:44