Ich habe eine Methode implementiert, die einfach um eine Reihe von CSV-Dateien, die Daten auf einer Reihe von verschiedenen Modulen enthalten. Dies fügt dann den 'Modulnamen' in ein Hash-Set ein. (Code unten gezeigt)Hash-Set und Array-Liste Leistungen
Ich habe ein HashSet verwendet, da es garantiert, dass keine Duplikate anstelle einer ArrayList eingefügt werden, die die contain() Methode verwenden und die Liste durchlaufen müsste, um zu prüfen, ob sie schon da ist.
Ich glaube, die Verwendung des Hash-Sets hat eine bessere Leistung als eine Array-Liste. Bin ich richtig darin, das zu sagen? wenn verwendet
- Wie die Leistung für jede Datenstruktur arbeiten:
Auch kann mir jemand erklären?
Was ist die Komplexität mit der Groß-O-Notation?
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;
}
Sie möchten wahrscheinlich die Sprache, die Sie verwenden, als einen der Tags verwenden (Sie müssen einen der anderen entfernen, aber die Sprache ist fast zweifellos wichtiger). –