2013-03-05 5 views
1

Quel serait le meilleur moyen de stocker et lire une chaîne vraiment longue, avec chaque entrée est un index pour un autre tableau?meilleure façon de stocker une liste de chaînes

J'ai en ce moment ce

String indices="1,4,6,19,22,54,....." 

La chaîne a jusqu'à cent mille entrées de, donc je pense que je pourrais utiliser une structure de données comme liste chaînée. Est-ce que quelqu'un sait s'il serait plus rapide d'en utiliser un?

+3

Plus rapide dans quel but? Pour sérialiser, un 'String' va être plus rapide que toute autre chose. Cependant, pour l'accès, il est susceptible d'être très lent par rapport à une liste quelconque. –

+0

Si tous les index pointent vers autre chose, vous pouvez utiliser un hashmap orangegoat

+0

ArrayList est plus rapide que LinkedList et prend moins de mémoire. – ApproachingDarknessFish

Répondre

3
List<String> list = new ArrayList<String>(); 

list.add("1"); 
list.add("2"); 

vous devez déclarer l'arrayliste de type chaîne.Alors ajoutez-le.

+0

Droit, mais utilise-t-il plus rapidement qu'une seule chaîne et divisé en centaines de milliers d'entrées? Fondamentalement, j'ai besoin de parcourir toute la chaîne. – user1538814

1

Cela dépend de ce que vous allez faire avec la chaîne (les indices) et les tableaux correspondants. En outre, cela dépendra de la façon dont vous allez y accéder.

Je vous suggère de lire d'abord un aperçu des structures de données implémentées dans Java, spécialement dans le Collections Framework.

Nous pourrions vous donner quelques suggestions, mais vous devrez nous fournir plus d'informations, en particulier celles que j'ai mentionnées au début (ce que vous voulez, comment ces données seront stockées et accessibles, et ainsi de suite). Par exemple, si vous avez besoin d'un accès rapide aux données indexées, une chaîne n'est peut-être même pas la meilleure approche. Peut-être qu'une carte serait meilleure. Les index pourraient être les clés et les tableaux indexés pourraient être les valeurs de la carte, par exemple. Mais ce n'est qu'un exemple vide, je vous suggère fortement de nous donner plus d'informations.

+0

Je comprends la liste liée et la liste de tableau mais je ne sais pas si je devrais les utiliser. J'ai besoin de traverser la chaîne du début à la fin essentiellement. – user1538814

0

J'aime vraiment utiliser la classe ArrayList, qui si vous êtes à l'aise avec les tableaux, ArrayList ou n'importe quel membre de Collections Framework. Cela fonctionnerait vraiment bien. Pour ce que tu essayes de faire.

ArrayList<String> indices = new ArrayList<String>(); 
indices.add(""); 
Questions connexes