さまざまなモジュールのデータを含む一連の CSV ファイルを単純にループするメソッドを実装しました。これにより、「moduleName」が hashSet に追加されます。(以下にコードを示します)
ArrayList の代わりに、重複が挿入されないことを保証する hashSet を使用しました。ArrayList は、contain() メソッドを使用し、リストを繰り返し処理して、既に存在するかどうかを確認する必要があります。
ハッシュ セットを使用すると、配列リストよりも優れたパフォーマンスが得られると思います。私はそれを述べて正しいですか?
また、誰かが私に説明できますか:
- 使用されている場合、各データ構造のパフォーマンスをどのように処理しますか?
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;
}