La différence entre le Jeu et le Sac en veille prolongée
Quelle est la principale différence entre les Set
et Bag
collections en veille prolongée?
Dans quels cas doit-on utiliser Set
et Bag
?
- Lire la documentation de
List
etSet
interfaces.
Vous devez vous connecter pour publier un commentaire.
Un
<bag>
est une collection non ordonnée, qui peuvent contenir des éléments dupliqués. Cela signifie que si vous persistez un sac avec de l'ordre des éléments, vous ne pouvez pas attendre le même ordre conserve quand la collection est extrait. Il n'est pas un “sac” concept en Java collections cadre, nous avons donc simplement utiliser unjava.util.List
correspond à une<bag>
.Un
<set>
est similaire à<bag>
sauf qu'il ne peut stocker des objets uniques. Ce qui signifie pas de dupliquer des éléments peuvent être contenus dans un ensemble. Lorsque vous ajoutez un élément à un ensemble pour la deuxième fois, il remplacera l'ancien. Un ensemble n'est pas ordonné par défaut mais on peut lui demander d'être triés. Le type correspondant de un en Java estjava.util.Set
.Exemples
Cartographie
<set>
Cartographie
<bag>
Ainsi, les deux sont mappés exactement de la même façon dans hbm fichier. Mais la seule différence est dans la façon dont il gère les enregistrements en double.
Source: Hibernate "Un à Plusieurs" XML Tutoriel
@OneToMany(mappedBy="Dept") private List<Employee> employees;
dans le Département de l'entité. comment peut-on marquer le type de collection comme sac avec des annotations??De la veille prolongée référence:
Et aussi:
Rapide Résumé de la différence entre les diverses collections est comme ci-dessous
Sac - Peut contenir des Doublons et Pas d'Ordonnance, Liste non ordonnée ou Ensemble avec des doublons)
Liste - Peut contenir des Doublons, mais avec Ordre préservé
Les deux sont des collections non triées. Sacs autoriser les doublons. Jeux ne le font pas.