我已经实现了一种方法,它只是循环一组包含许多不同模块数据的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;
Run Code Online (Sandbox Code Playgroud)
}