Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将图像存储为数组或枚举:哪个更好?_Java_Android - Fatal编程技术网

Java 将图像存储为数组或枚举:哪个更好?

Java 将图像存储为数组或枚举:哪个更好?,java,android,Java,Android,我正在构建我的第一个android应用程序,也是我的第一个Java应用程序。我似乎无法理解枚举和数组列表之间的区别。我正在构建一个简单的闪存卡应用程序,将闪存卡上的问题存储为图像文件和答案。我希望能够以随机和难度递增的顺序显示抽认卡。与阵列相比,将闪存卡存储在枚举中的优势是什么 我会将任何图像信息存储在一个数组中。这些可以动态填充,而枚举不能 数组还提供了一系列操作方法,以后可能会派上用场 如果您创建一个HashMap,您也可以将其作为地图的关键点,这将使您更容易使用如下结构以渐进顺序显示卡片:

我正在构建我的第一个android应用程序,也是我的第一个Java应用程序。我似乎无法理解枚举和数组列表之间的区别。我正在构建一个简单的闪存卡应用程序,将闪存卡上的问题存储为图像文件和答案。我希望能够以随机和难度递增的顺序显示抽认卡。与阵列相比,将闪存卡存储在枚举中的优势是什么

我会将任何图像信息存储在一个数组中。这些可以动态填充,而枚举不能

数组还提供了一系列操作方法,以后可能会派上用场

如果您创建一个HashMap,您也可以将其作为地图的关键点,这将使您更容易使用如下结构以渐进顺序显示卡片:

HashMapCardsonSameDifficultyVL>

使用ArrayList和HashMap将使应用程序更容易在运行时添加/删除/编辑卡,并且可以从文本文件,甚至从目录/文件名结构填充结构。
使用enum将对应用程序的业务逻辑中的每一张卡进行硬编码,这使得维护变得很困难。

enum和ArrayList在定义上相距甚远,因此您可能应该仔细阅读enum以完全澄清

枚举是一个预先确定的值列表,用于描述一件事。我使用枚举来表示状态、可能值的简短列表等

enum Status {
    Initialized,
    InProgress,
    Completed,
    Failed
};
这些都定义了某事物状态的可能值

对于类似于抽认卡的应用程序,我想说你可以将两者结合使用。您可能需要一个表示抽认卡的类,并将您对抽认卡的想法与抽认卡的图像分开。图像实际上只是Flashcard的一个属性

下面是一个同时使用这两种方法的示例:

public class Flashcard {

    public enum Difficulty
    {
        Easiest,
        Easy,
        MediumEasy,
        Medium,
        MediumDifficult,
        Difficult,
        MostDifficult
    }

    String question;
    String answer;
    String pathToImageFile;

    Difficulty difficulty;

}
因此,这个类将把您的Flashcard表示为一个对象。您的应用程序可以通过某种方式创建此类的ArrayList(
ArrayList
),并为您的活动提供特定难度的实例

我实际要做的是使用和整数表示难度级别,这样我可以有更广泛的难度级别,必须维护和更新大量的枚举值列表,并在难度的大小之间有一个更清晰的概念,但我想向您展示枚举的一个常见用法作为示例

以下是enum的wikipedia链接:

也许抽认卡主题(地理、音乐、政治等)更适合参加enum?谢谢!我觉得我现在对枚举的用法了解得多了!我可能两者都用!感谢您提出使用HashMap的想法!我得好好读一读!