Hachage Ensemble et Tableau Liste les performances

J'ai mis en œuvre une méthode qui, tout simplement, des boucles autour d'un ensemble de fichiers CSV qui contient des données sur un certain nombre de module différent. Cela ajoute ensuite le "moduleName" dans un hashSet. (Code indiqué ci-dessous)

J'ai utilisé un hashSet qu'elle garantit pas de doublons sont insérés à la place d'une liste de tableaux qui aurait à utiliser le contenir() la méthode et parcourir la liste pour vérifier si il est déjà là.

Je crois à l'aide de la table de hachage a une meilleure performance que la liste du réseau.
Suis-je raison de dire que?

Aussi, quelqu'un peut-il m'expliquer:

  1. Comment travailler les performances pour chaque structure de données si on l'utilise?
  2. Quelle est la complexité en utilisant le big-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; 

    }

  • Vous voudrez probablement inclure les langues que vous utilisez comme l'un des balises (vous aurez à éliminer les uns les autres, mais la langue est presque sans aucun doute le plus important).
InformationsquelleAutor user1339335 | 2012-04-17