0

私はこれをあなたの脳のような質問を選んで投稿しています. 配列は、サイズが不明な名簿の適切なタイプのデータ ホルダーですか?

3つのメソッドを持つ小さなクラスを作成しようとしています

  1. addToRoster //配列と文字列を取って提案された配列に名前を追加します。
  2. getRoster //コンソールに出力された名簿の要素を返します。
  3. remFrRoster // 名前を取り、名簿を循環し、見つかった場合は削除します。

私は本当にJavaの初心者です。私は約1週間だけプログラミングを行っており、いくつかのことを見つけようとしています。まず、これはクラスの適切な設計方法論ですか? 2 つ目は、文字列の名簿を格納するための好ましい方法は配列ですか? 最後に、配列を特定のサイズに初期化する必要がありますか、それとも初期化されたサイズの制限に近づくにつれてサイズを変更できますか?

ありがとう、パノ

4

2 に答える 2

2

ArrayList を使用できます。

ArrayList<Player> roster = new ArrayList<Player>();  
roster.add(new Player(32));  
System.out.println(roster.get(0).getAge());

ArrayList は基本的に配列と同じですが、サイズを変更できます。プログラムの実行中に名簿上のプレーヤーの数が変更される場合にのみ、ArrayList を使用してください。つまり、ファイルからプレーヤーを読み込む場合は配列を使用しますが、プログラムの開始後に不確定な数のプレーヤーを作成する場合は、ArrayList を使用します。

于 2013-04-20T05:22:31.470 に答える
1

配列の代わりにコレクションを使用して、要素の数に基づいてストアのサイズを動的に変更します。

  • AListは、任意の数の要素を格納するのに適しています。
  • Mapは、オブジェクトの属性を使用してキー設定された任意の数のオブジェクトを格納するのに適しています。

RosterName 以外の属性が含まれている場合は、 を使用してオブジェクトMapを保存できRosterます。

  • addToRoster は、単純に要素を Map に配置しmap.put(roster.getName(), roster)ます。
  • getRoster はmap.values()コレクションを反復処理し、各名簿オブジェクトを出力します。
  • remFrRoster は、指定された名前を使用して名簿オブジェクトを単純に削除しますmap.remove(name)。この呼び出しからの戻り値が null の場合、その名前の名簿オブジェクトがないことを意味します。

HTH。

于 2013-04-20T05:25:39.483 に答える