Je suis à la recherche d'une bonne liste triée pour java. Googler autour de me donner quelques conseils sur l'utilisation de TreeSet/TreeMap. Mais ces composants est le manque d'une chose: l'accès aléatoire à un élément de l'ensemble. Par exemple, je veux accéder à la nième élément dans l'ensemble trié, mais avec TreeSet, je doit itérer sur les autres éléments n-1 avant que je puisse y arriver. Ce serait un gâchis que j'ai serait avez jusqu'à plusieurs milliers d'éléments dans mon Jeu.
En gros, je suis à la recherche de quelque chose de semblable à une liste triée dans .NET, avec la capacité d'ajouter un élément rapide, enlevez l'élément rapide, et ont un accès aléatoire à n'importe quel élément dans la liste.
A ce genre de liste triée mis en œuvre quelque part? Merci.
Édité
Mon intérêt dans SortedList se développe à partir de ces problèmes: J'ai besoin d'tient à jour une liste de plusieurs milliers d'objets (et peut atteindre jusqu'à plusieurs centaines de milliers). Ces objets seront conservées dans la base de données. Je veux choisir au hasard quelques dizaines d'élément de la liste. Donc, j'ai essayé de les maintenir séparés en mémoire une liste qui contient les clés primaires (Long nombre) de tous les objets. J'ai besoin d'ajouter/supprimer des clés de la liste lorsque l'objet est ajouté / supprimé de la base de données. Je suis à l'aide d'une liste de tableaux pour l'instant, mais j'ai peur ArrayList ne conviendra pas à tous quand le nombre de dossiers augmente. (Imaginez que vous avez à parcourir plusieurs centaines de milliers d'éléments à chaque fois qu'un objet est supprimé de la base de données). À l'époque où je l'ai fait .NET de programmation, alors je voudrais utiliser une Liste triée (Liste de est une .NET de classe qu'une fois Triés propriété est définie à vrai, de maintenir l'ordre de son élément, et de fournir des binaires de recherche qui aident à retirer/insérer un élément très rapide). J'espère que je peux trouver quelque chose de similaire à partir de java BCL, mais malheureusement, je n'ai pas trouvé un bon match.