SortedSet<T> vs HashSet<T>

Ma question est quel est le besoin de HashSet<T> lorsque nous avons SortedSet<T>! Tous les HashSet méthodes sont disponibles dans SortedSet trop, d'ailleurs SortedSet est avantageux car il fournit une collection déjà triés manière! Même alors, HashSet est présent. Pour quoi est-il utile alors?

  • HashSet<T> si vous voulez que les éléments soient triés et unique? À partir de MSDN > Le HashSet<T> classe > de haute performance de l'ensemble des opérations. Un set > est une collection qui ne contient pas de > les éléments en double, et dont les éléments > sont dans aucun ordre particulier. msdn.microsoft.com/en-us/library/bb359438.aspx
  • Que faire si vous avez un ensemble de choses qui n'ont pas une commande en premier lieu? Comment voulez-vous faire une triés ensemble de points dans trois espaces, par exemple? Que voulez-vous trier?
  • sur n-uplet.Créer(x, y, z) 🙂
  • Un utile (parfois) chose à savoir lorsque l'on travaille avec HashSet<T>: même dans les applications 64 bits, il peut stocker jusqu'à près de 48 millions de Guids ou longs ou ~95 millions de ints, et jette OutOfMemoryException après. SortedSet<T> semble avoir beaucoup plus de limite de capacité. Si pour une raison quelconque vous avez besoin de garder des centaines de millions d'objets en mémoire, HashSet<T> peut-être pas un bon choix.
InformationsquelleAutor Batrickparry | 2011-01-07