Meilleure façon de réorganiser une liste de tableaux en Java
Quelle est la meilleure façon de réorganiser les éléments dans une liste? J'ai besoin de la capacité de déplacer des éléments à déplacer des éléments dans la liste, un pas en arrière ou en avant dans l'index. Je pensais obtenir l'index de l'élément, de l'ajouter à l'index -1 /+2 et de supprimer l'ancienne référence.
Est-il un moyen plus rapide pour gérer réorganiser sans créer de doublons dans la liste dans le processus.
Veuillez fournir un exemple. Par exemple, la liste ABCDEF, que voulez-vous? Quelque chose comme ABCEDF (déplacement d'un élément) ou ABCEF (suppression d'un élément)? Pourquoi écrivez-vous de -1 / +2 au lieu de -1 / +1?
J'ai eu des +2 si vous ajoutez dire " C " dans votre exemple, à indexof(c)+1, vous obtiendrez ABCCDEF le retrait de l'ancien C reprendra à ABCDEF. mettre +2 vous donnera l'ABCDCEF et enlever la vieille valeur donnera ABDCEF. Donc +2 au lieu de +1. Mais Les Collections.swap était exactement ce que je cherchais.
J'ai eu des +2 si vous ajoutez dire " C " dans votre exemple, à indexof(c)+1, vous obtiendrez ABCCDEF le retrait de l'ancien C reprendra à ABCDEF. mettre +2 vous donnera l'ABCDCEF et enlever la vieille valeur donnera ABDCEF. Donc +2 au lieu de +1. Mais Les Collections.swap était exactement ce que je cherchais.
OriginalL'auteur Jens Jansson | 2009-03-18
Vous devez vous connecter pour publier un commentaire.
Utiliser le JDK de la méthode d'échange d'
Le JDK Collections classe contient une méthode à cet effet, appelé Les Collections.swap. Selon la documentation de l'API, cette méthode vous permet de permuter les éléments à des positions spécifiées dans la liste spécifiée."
Je suggère cette solution de sorte que vous n'avez pas à supprimer des éléments de la Liste et que vous n'avez pas à rouler votre propre méthode d'échange. Aussi, il ressemble cette méthode a été autour depuis la sortie de la version 1.4 de Java, donc ça devrait fonctionner pour la plupart des modernes Jdk.
J'ai seulement le souvenir, parce que je le voyais aujourd'hui pour mon projet. C'est dans l'un des coins sombres de la JDK.
Très cool, je ne pense pas que je ai jamais utilisé cette méthode, mais il pourrait certainement venir dans maniable.
OriginalL'auteur Elijah