私はアンドロイドのための私の最初のアプリケーションとJavaの私の最初のアプリケーションを構築中です。列挙型と配列リストの違いを把握できないようです。私は画像ファイルと答えとして保存されている質問のフラッシュカードを持つ簡単なフラッシュカードアプリケーションを構築しています。フラッシュカードを無作為に、難易度順に表示できるようにしたい。アレイと比較して私のフラッシュカードを列挙体に格納する利点は何ですか?イメージを配列または列挙型として格納します。これは良いですか?
答えて
enumとArrayListの定義がはるかに離れているため、完全に明確にするために列挙型を読むべきでしょう。
enumは、1つのことを記述する値の事前に決められたリストです。私はすべてが何かの状態のための可能な値を定義し、これら
enum Status {
Initialized,
InProgress,
Completed,
Failed
};
たとえばなどのステータス、可能な値の短いリスト、のようなもののために列挙型を使用します。
Flashcardアプリのようなものでは、両方の組み合わせを使用することができます。あなたはおそらくフラッシュカードを表すクラスを必要とし、フラッシュカードのイメージからフラッシュカードのアイデアを分けてください。イメージは実際にはFlashcardの1つのプロパティです。ここで
の両方を使用した例です:
だから、public class Flashcard {
public enum Difficulty
{
Easiest,
Easy,
MediumEasy,
Medium,
MediumDifficult,
Difficult,
MostDifficult
}
String question;
String answer;
String pathToImageFile;
Difficulty difficulty;
}
、このクラスは、オブジェクトとしてのあなたのフラッシュカードに相当するであろう。そして、あなたのアプリは、このクラスのArrayList(ArrayList<Flashcard>
)を作成し、あなたの活動に特定の難易度のインスタンスを提供する何らかの方法を持つことができます。
私が実際にやることは、難易度レベルではuseとIntegerですので、難易度の範囲を広げてenum値の巨大なリストを更新しなければならないだけでなく、私は例としてenumの一般的な使い方を示したいと思っていました。
ここで列挙のためのウィキペディアのリンクです:HashMapを使用してのアイデアのための http://en.wikipedia.org/wiki/Enumerated_type
私はどのイメージ情報も配列に格納します。列挙型は動的に生成できますが、動的に生成することはできません。
配列には、後で便利な一連の操作方法もあります。
あなたは次のような構造を使用して、あなたはまた、あなたがプログレッシブ順番にカードを表示することが容易になりますマップのキーをする難しさのレベルを持つことができますHashMapを作成した場合:
のHashMap <整数難易度ArrayListとHashMapを使用すると、アプリケーションを実行時にカードを簡単に追加/削除/編集することができ、構造はテキストファイルやディレクトリ/ファイル名構造からも読み込むことができます。 Enumsを使用すると、アプリケーションのビジネスロジック内のすべてのカードがハードコードされ、保守が難しくなります。
ありがとう!私はそれを読む必要があります! – jtagster
- 1. C#で列挙型がint型として格納されていますか?
- 2. EF 5に列挙型を文字列として格納することはできますか?
- 3. hibernateで列挙型の配列を格納する方法
- 4. MATLABは配列として文字列を格納します
- 5. データベースに列挙型の値を格納する最も良い方法 - 文字列またはInt
- 6. スウィフトに列挙型を格納する
- 7. サーバーコールからイメージの配列を格納しますか?
- 8. 格納された列挙型の条件付き列挙型スイッチ
- 9. 同じイメージが配列に格納されています - nodejs
- 10. Rustはどのように列挙型の値を配列に格納しますか?
- 11. SQL Serverのイメージ列にイメージを格納しています。
- 12. Node.jsオブジェクトをデータベースまたは配列に格納しますか?
- 13. データベースから列挙型を格納する良い方法はありますか?
- 14. DBの列挙型または列挙型の列挙型
- 15. char配列を列挙型配列に変換しますか?
- 16. Cで列挙型配列を格納する配列を作成するには?
- 17. 関数を配列に格納しています。それは良い練習ですか?
- 18. Doctrine列挙型で列挙されていない値を追加することはできませんか?
- 19. 配列のインデックスは新しい配列に格納されます
- 20. レルムに列挙型を格納するには?
- 21. のtypedefと列挙型または列挙型クラス
- 22. C++は、文字列に格納されているデータ型のバイト配列を宣言します。
- 23. バイナリビットを整数配列に格納していますか?
- 24. $ _FILESからPHP配列を格納しています
- 25. コアデータエンティティを列挙型として使用していますか?
- 26. C++のdynamic_castと静的列挙型のオブジェクト型の格納
- 27. 列挙された属性のNULL値をデータベースに格納することはできますか?
- 28. 列挙型を使用して**格納する**行と列のDB名が過剰ですか?
- 29. のPostgreSQL:これは、列挙型の定義で列挙型
- 30. C++は連続した文字列を配列に格納します
フラッシュカードのトピック(地理、音楽、政治など)が列挙型のよりよい候補になるかもしれませんか? –
ありがとう!私はenumの使用法を今よりずっと良く理解しているように感じます!私はおそらく両方を使用します! – jtagster