Comment convertir une liste d'objets en une file d'attente en conservant le même ordre?Comment convertir/convertir une liste d'objets en file d'attente d'objets
Répondre
Queue
a un constructeur qui prend dans un ICollection
. Vous pouvez passer votre liste dans la file d'attente pour l'initialiser avec les mêmes éléments:
var queue = new Queue<T>(list); // where 'T' is the lists data type.
var q = new Queue<Object>();
for(int i = 0; i < list.Count; i++) q.Enqueue(list[i]);
C'est, en supposant « même ordre » signifie que le premier élément à dequeued de la file doit être une liste [0].
Si cela signifie le contraire, il suffit d'utiliser la boucle inverse: for(int i = list.Count-1; i >= 0; i--)
var mylist = new List<int> {1,2,3};
var q = new Queue<int>(mylist);
Que voulez-vous dire par « le même ordre? »
Si vous faites ceci:
var queue = new Queue<object>(list);
Ensuite, la file d'attente sera énumérait plus dans le même ordre que la liste, ce qui signifie qu'un appel à Dequeue
retournerait l'élément qui avait déjà résidé à list[0]
.
Si vous faites ceci:
var queue = new Queue<object>(list.AsEnumerable().Reverse());
Ensuite, la file d'attente sera énumérait plus dans l'ordre inverse de la liste, ce qui signifie qu'un appel à Dequeue
retournerait l'élément qui avait déjà résidé à list[list.Count - 1]
.
+1 pour mentionner les deux directions. –
- 1. Comment puis-je atomiquement "mettre en file d'attente si l'espace libre OU dequeue puis mettre en file d'attente" pour une file/liste Java?
- 2. comment copier en profondeur une file d'attente en python
- 3. JTree de la liste <File>
- 4. en parcourant une liste en récupérant une autre liste
- 5. Liste vs File d'attente vs Ensemble de collections en Java
- 6. comment trier une file d'attente en utilisant (juste) une autre file et quelques variables, en moins de O (n^2)?
- 7. Comment utiliser une file d'attente prioritaire en C++?
- 8. comment faire une file d'attente en php avec MySQL
- 9. En Python, comment indexer une liste avec une autre liste?
- 10. Comment diviser une chaîne en une liste?
- 11. Comment créer une file d'attente Terabyte?
- 12. Comment ce code dans java serait changé pour en faire une file d'attente circulaire en utilisant la liste chaînée?
- 13. Comment utiliser re pour rechercher des éléments dans une liste dans une autre liste en Python
- 14. Comment démarrer automatiquement une file d'attente Azure?
- 15. Comment puis-je prioriser l'implémentation de la file d'attente en utilisant une file d'attente circulaire en C++?
- 16. File d'attente prioritaire en Java
- 17. Comment gérer une file d'attente d'imprimantes via une application asp.net?
- 18. Comment rempoter une liste en Python
- 19. Comment cloner une liste générique en Java?
- 20. Comment trier une liste en C#?
- 21. Comment rechercher une liste en C#
- 22. comment stocker une liste d'objets en session
- 23. Comment obtenir une sous-liste en C#
- 24. Comment imprimer une liste entière en F #?
- 25. Comment paginer une liste d'images en PHP
- 26. Comment créer une liste en Oz?
- 27. Comment trier une liste liée en SQL?
- 28. Mise en file d'attente de plusieurs fichiers
- 29. Comment compter les éléments d'une liste dans une liste dans une liste en utilisant LINQ?
- 30. Comment planifier/mettre en file d'attente du contenu pour une date future Publier en PHP?
existe-t-il une file d'attente non générique? – zerkms
Bonne prise. Il y a en fait une file d'attente non générique, mais vous voudriez probablement la version générique. J'ai mis à jour ma réponse. –
@zerkms: Il existe une classe 'Queue' non générique dans l'espace de noms 'System.Collections': http://msdn.microsoft.com/en-us/library/system.collections.queue.aspx – Rich