arrays - 将元素保存在Map/Array/Collection中……Grails

标签 arrays grails collections groovy map

我是grails 1.3.7的新手,但是有问题。

我想在一个list/array/map/中存储不同的元素/参数。
要存储的数据如下所示:
id : answera, answerb, answerc, answerd, answere, answerf, answerg, answerhidnumberanswersbooleans
所以我有很多ids(好吧,大概20个),每个答案都有8个 bool(boolean) 值。
如何最好地存储它们,以便可以再次轻松访问它们?

谢谢 :-)

[EDIT]非常感谢您的回答,我现在将尝试一下! :-)

我现在有一个包含id(int)和一个代表我的答案的对象的 map (它是一个pojo,其中包含 bool(boolean) 值answera,answerb等...)

现在,我将此 map 交给gsp。我怎么知道从中取出数据?感谢帮助! :-)

最佳答案

映射将是最好的方法,但是它与grails无关。您是否需要将这些持久化到域类/数据库?

map 会是什么样子...

def map = [:]
map.put(id1, [new Answer(accepted:true), new Answer(accepted:false)]; 
map.put(id2, [new Answer(accepted:false), new Answer(accepted:false)]; 

我认为这不会给您提供易于使用的域类。听起来好像您想要grails域类来封装答案。就像是...
class Question{

    static hasMany = [answers:Answer]
    Integer id
    Boolean answered

    def hasBeenAnswered(){
        answers.each(){ answer->
            if (answer.accepted){
                answered = true;
                return true;
            }
        }
        return false;
    }

    def acceptAnwser(Answer answer){

        answer.accepted = true;
        this.answered = true;

    }


}

class Answer{

    static belongsTo = [question:Question]

    Integer id
    Boolean accepted
    String text
}

然后您的代码将更易于使用...
def allQuestion = Question.list();
def allUnansweredQuestions = Question.findAllByAnswered(false);
def allAnsweredQuestions = Question.findAllByAnswered(true);

关于arrays - 将元素保存在Map/Array/Collection中……Grails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6466639/

相关文章:

arrays - 在 C 中将值输入到 typedef char 数组时出现问题

java - 如何从字符串数组或数组列表创建一个字符串?

grails - 过滤 'belongsTo'结果

java - 如何使用 lombok 配置 getter-only-lazy-initializing 集合字段?

java - 从列表中随机选择一个项目

java - Java中的数组 "remember"它们的类型如何?

javascript - jQuery 单击事件显示 JSON 数组中的特定数据无法正常工作

grails - Grails插件获取插件的根目录或安装目录

java - 将Grails 2.x应用升级到Grails 3.2.9时出现问题

java - 流分组: children list to unique parent list