我正在使用存储在设备上的用户完整照片集创建数据源(可能有数千个)。
对于每项资产,我需要:
当视图加载时,我将枚举所有资产并为每个资产存储这4个数据。我想知道安排所有这些数据的选项之间是否存在显着差异。例如:
VS
VS
创建或读取这些集合所需的时间是否存在显着差异(假设有数千个对象)?感谢。
答案 0 :(得分:2)
有很多方法可以做到这一点,但是最简单的方法是节省时间并且开销很低,那就是创建一个包含你想要创建的四个属性并将它们放在字典中的类。使您自己的对象保存这些信息而不是将几个数组或字典绑定在一起将在未来提供更大的灵活性。
在您对照片进行枚举时,请设置字典中的对象,并将时间戳作为键(或您想要的任何唯一属性)。您可以在O(n*(log n))
中对密钥进行排序,并在O(1)
时间内访问条目。然后你有一个所有图像的排序列表,它快速,可扩展,你可以在以后轻松添加更多属性。