這不是一個我期待得到具體答案的問題,因爲它非常廣泛。我自學Java,專注於動態內存分配。讓我們做一個非常簡單的例子:假設我有一個非常基本的數據輸入屏幕。所以發生的基本情況就是用戶輸入一系列名字,可能是員工目錄或其他東西。在我的JFrame中,我有一個單獨的JTextField控件,在這些控件中輸入這些名稱。只有在運行時才知道員工人數。用戶輸入一個名稱並敲擊回車鍵,該回車鍵將名稱提交給內存,並創建一個新對象來存儲下一個名稱(愚蠢,我知道,但我正在嘗試着重)。像這樣的東西(不要太直接 - 我明顯沒有編譯這個):Java動態內存分配(堆)
public class Employee {
String fName;
public void setName(String n) {
fName = n;
}
};
public class JFrameEmp {
//blah, blah, blah
JTxtName.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
/* Handle the enter key */
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
/* Store name */
this.setName(JTxtName.getText());
/* Create New Object */
Employee next = new Employee();
}
};
}
}
我需要幫助的地方在最後一行。即使這是行得通的,假設我想打印出輸入名稱的列表。在我的方法中,我沒有辦法唯一標識每個對象(以便我可以遍歷它們)。
我是否需要創建一個數組來存儲這些數據?但是它有一個固定的長度並且生活在堆棧上。我寧願找到一種方法來使用堆來允許一個開放式列表。
我該讀什麼來學習如何做到這一點?這是一件非常平常的事情,但我所擁有的書似乎沒有涵蓋它。
謝謝。我希望我已經解釋得很清楚,沒有太多細節。
你有沒有看過'Map'界面? –
gobernador