我沒看過 其他語言版的資料結構,但覺得java的實現方法很巧妙--用類和對象來實現.基於數組的表,思想很簡單就是定義一個類用來儲存一組資料,我定義的是ArrayListClass類,在類中定義用來運算元組的方法.其實就是 這麼簡單,但具體操作起來就會遇到很多麻煩了!
我們這個ArrayListClass類中首先應該包括一個數組型的域list,用來存放資料,這樣放在同一數組中資料之間就產生了位置上的聯絡,使對資料的操作便的簡單.然而這個數組到底是什麼資料類型的,我們期望這個表能用於所有的資料類型,我們不能將他單純的固定成某一種.所以我們必須將這個資料普通化,解決的辦法就是定義一個類,作為所有資料類型的超類.看這個DataElement:
public abstract class DataElement {
public abstract boolean equals(DataElement otherElement);
public abstract int compareTo(DataElement otherElement);
public abstract void makeCopy(DataElement otherElement);
public abstract DataElement getCopy();
}
將他定義成為抽象的,再在定義其他資料類型時繼承並實現它,我定義了兩個資料類型IntElement和StringElement:
IntElement:
public class IntElement extends DataElement {
protected int num;
//constructors
public IntElement(){
num=0;
}
public IntElement(int number){
num=number;
}
public IntElement(IntElement otherElement){
num=otherElement.num;
}
///get-set Methods
public void setNum(int number){
num=number;
}
public int getNum(){
return num;
}
/* (non-Javadoc)
* @see DataElement#equals(DataElement)
*/
public boolean equals(DataElement otherElement) {
// TODO Auto-generated method stub