Я реализовал метод, который просто включает цикл 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;
}