我已经实现了一个方法,它只是围绕一组包含多个不同模块上的数据的CSV文件进行循环。然后将这个'moduleName'添加到hashSet中。 (代码如下)散列集和数组列表性能
我已经使用了一个hashSet,因为它保证不会插入重复项而不是ArrayList,它必须使用contains()方法并遍历列表来检查它是否已经存在。
我相信使用哈希集具有比数组列表更好的性能。 我说得对吗?如果使用
- 如何工作的每一个数据结构中的表现:
此外,有人可以解释一下吗?
使用big-O符号的复杂性是什么?
HashSet<String> modulesUploaded = new HashSet<String>(); for (File f: marksheetFiles){ try { csvFileReader = new CSVFileReader(f); csvReader = csvFileReader.readFile(); csvReader.readHeaders(); while(csvReader.readRecord()){ String moduleName = csvReader.get("Module"); if (!moduleName.isEmpty()){ modulesUploaded.add(moduleName); } } } catch (IOException e) { e.printStackTrace(); } csvReader.close(); } return modulesUploaded;
}
您可能希望将您正在使用的语言作为其中一个标签(您必须消除其中一个标签,但语言几乎无疑更重要)。 – 2012-04-17 17:54:03