これはかなり広いので、私が具体的な答えを期待している質問ではありません。私は自分自身にJavaを教えており、特に動的メモリ割り当てに焦点を当てています。非常に単純化した例を作成しましょう。非常に基本的なデータ入力画面があるとします。非常に基本的なことなので、ユーザーは一連の名を入力するだけです。おそらく、従業員のディレクトリなどです。私のJFrameには、これらの名前を入力する単一のJTextFieldコントロールがあります。従業員の数は、実行時にのみわかります。ユーザーが名前を入力してEnterキーを押すと、名前がメモリにコミットされ、次の名前を格納するための新しいオブジェクトが作成されます(ばかげていますが、焦点を合わせようとしています)。このようなもの(これを文字通りに解釈しないでください-私は明らかにこれをコンパイルしませんでした):
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();
}
};
}
}
私が助けを必要としているのは最後の行です。これがうまくいったとしても、入力した名前のリストを印刷したいとしましょう。私のアプローチでは、各オブジェクトを一意に識別する方法がわかりません(オブジェクトを反復処理できるようにするため)。
これらを格納するために配列を作成する必要がありますか?しかし、それは固定長であり、スタック上に存在します。ヒープを使用して、制限のないリストを作成する方法を見つけたいと思います。
これを行う方法を学ぶために私は何を読むべきですか?それは非常に一般的なことであるに違いありませんが、私が持っている本はそれをカバーしていないようです。
ありがとう。あまり詳しく説明せずに、これを十分に説明できたことを願っています。