Les meilleures pratiques pour la tenue des listes énormes de données en Java

Je suis en train d'écrire un petit système en Java dans laquelle j'ai extrait n-gramme fonction à partir de fichiers texte et, plus tard, le besoin d'effectuer Fonctionnalité processus de Sélection afin de sélectionner les plus discriminants fonctionnalités.

La Fonctionnalité de processus d'Extraction d'un fichier unique de retour d'une Carte qui contient pour chaque fonctionnalité unique, de ses occurrences dans le fichier. J'ai fusionner tous les fichiers de Cartes (Map) dans une Carte qui contient le Document de Fréquence (DF) de toutes les caractéristiques uniques extraits à partir de tous les fichiers. Le unifiée Carte peut contenir au-dessus de 10 000 000 d'entrées.

Actuellement la Fonctionnalité de processus d'Extraction fonctionne très bien et je veux effectuer la Sélection des fonctionnalités dont j'ai besoin pour mettre en œuvre le Gain d'Informations ou de Gain Ratio. Je vais avoir à trier les Carte tout d'abord, effectuer des calculs et enregistrer les résultats afin d'obtenir enfin une liste d' (pour chaque fonction, sa Fonction de Sélection de la partition)

Ma question est:
Quelle est la meilleure pratique et la meilleure structure de données pour tenir cette grande quantité de données (~10M) et effectuer des calculs?

Jetez un oeil à la table de hachage.

OriginalL'auteur Aviadjo | 2015-01-14