这(像往常一样)取决于。你的数据集有多大?您是否测试过一种基本方法并发现它花费了太多时间?例如,简单的 LinkedList 在删除方面更有效(与 ArrayList 相比)。你想最终得到什么,一种以何种方式快速查找事物的数据结构?按索引?用钥匙?您需要什么快速,实际过滤或完成后?
即使在简单的情况下,也有多种方法可以做到这一点。如何合并到一个对象中,每列都有字段:
class Data {
String title;
String desc;
String price;
String usage;
}
进而:
LinkedList<Data> allData = ...;
for (Iterator iter=allData.iterator();iter.hasNext();) {
Data data = iter.next();
if ("NONE".equals(data.usage)) { //see note about using something else here
iter.remove();
}
}
//allData is now cleaned of any entries with USAGE of NONE
通常比使用 ArrayList 更快,当然比使用多个列表等更快。但又取决于。
例如,可能希望根据您的数据建模需求在单独的类中使用。
无论算法如何,为了进一步的性能(这是重要的部分,所以只是为了好玩,总是测量!)考虑:
usage
进行or进行更有效的比较enum
或int
String 常量所以不需要equals()
,可以改为使用usage == NONE