我感觉两个句子里的great的意思有些细小的差别:
第一句里的great含有令人羡慕令人惊奇的意思,翻译成庞大的(收集),而且关于collection这个单词,牛津词典上给的释义是:
1 收集,收藏
2 (一批)收藏品,(一批)收集品
我认为第一句中的collection应该取第2个意思,就是当作可数名词,所以加a是很正常的.
至于第2句,food只有当取不同类的食物时才可数,例如,different kinds of foods,而第2句中只是泛指,所以不可数,就不能用a了,楼上的说法也行,就是加上of.