Hey je me demandais quelle serait la meilleure collection à utiliser lors de la création d'un magasin pour les détails de l'employé tels que le nom, l'adresse de l'âge, dob, les salaires et l'adresse e-mail. le magasin a besoin de tous les éléments essentiels tels que ajouter, modifier, supprimer, supprimer tout et searchBy.Collections Java. Collection pour un magasin d'employés
Répondre
Eh bien, vous voudrez probablement une recherche rapide, donc une structure de hachage avec la clé comme le démon que vous souhaitez rechercher pourrait être la meilleure solution. Par exemple, si vous voulez effectuer une recherche par nom, vous pouvez créer une classe comme ceci:
public class EmployeeStore {
private Map<String, Employee> employees;
public EmployeeStore() {
employees = new HashMap<String, Employee>();
}
public void add(Employee e) {
employees.add(e.getName(), e);
}
public Employee searchByName(String name) {
return employees.get(name);
}
// etc.
}
et mettre en œuvre les méthodes nécessaires en fonction de vos besoins en utilisant la structure de données employees
. Si la recherche est effectuée par nom, vous pouvez avoir le nom comme chaîne clé.
Malheureusement, la recherche par un champ différent de l'index nécessitera une recherche linéaire qui sera lente si vous avez un grand nombre d'entrées.
Il suffit de créer une classe pour votre entité employé comme quelque chose ci-dessous:
public class Employee
{
String name;
public void setName(String nm)
{
this.name=nm;
}
public String getName()
{
return this.name;
}
//Other variables and associated getter and setters
}
Maintenant, vous pouvez créer une collection de employés objets:
ArrayList<Employee> employees=new ArrayList<Employee>();
Ou vous pouvez utiliser d'autres collections vous vouloir.
Ensuite, vous avez besoin de mettre en œuvre des logiques pour les méthodes que vous voulez comme
Update(), Delete()
Vous devez utiliser HashMap
ou Map
pour une capacité de recherche plus rapide!
La "meilleure" collection spécifique à utiliser dépendra des besoins d'accès et des contraintes de données. Mais vous pouvez encapsuler plusieurs collections dans une seule classe EmployeeStore
pour l'accès de plusieurs façons.
Si vous avez besoin par exemple d'effectuer une recherche par nom et que vous pouvez garantir que les noms sont uniques, un Map<String, Employee>
avec des noms stockés en tant que clé vous permettra de trouver rapidement un employé avec un prénom. Si les noms ne sont pas garantis être uniques, vous devrez peut-être utiliser un Map<String, List<Employee>>
.
Pour les recherches basées sur d'autres champs, vous pouvez gérer d'autres cartes avec les clés appropriées. Les implémentations de vos méthodes, remove
et edit
devraient bien sûr mettre à jour toutes les cartes que vous utilisez de manière appropriée. Si vos recherches sont plus complexes que de simples recherches par clé, ou si vos données sont volumineuses, vous devrez probablement sauvegarder votre EmployeeStore
avec une base de données au lieu de simplement utiliser des collections.
- 1. Collections Java: quelle collection utiliser et quand?
- 2. Traduire la collection de collections en Java
- 3. Interview: Concevoir un itérateur pour une collection de collections
- 4. Collections Java
- 5. collections de collection
- 6. Collections filtrables en Java
- 7. Collection ou structure de données pour contenir d'autres collections
- 8. Collections avancées en Java?
- 9. Aplatissement d'une collection de collections
- 10. mongodb java pour rejoindre deux collections
- 11. Java Generics and Collections
- 12. java collections vs carte dans le framework de collections
- 13. Trier et dedupe java collections
- 14. VBA - Comment ajouter une collection à une collection de collections
- 15. Expression Linq pour une collection filtrée de collections?
- 16. Un gridview pour déboguer des collections?
- 17. Comment diviser une collection en sous-collections?
- 18. Collections PLSQL - pour créer une collection d'enregistrements ou non?
- 19. Collections persistantes et interfaces de collection standard
- 20. Collection séparée sur 2 collections NEW différentes
- 21. Java Énorme magasin de données
- 22. Rendu d'une collection avec plusieurs sous-collections
- 23. Créer une « collection des collections » dans jQuery
- 24. Backbone js collection de collections numéro
- 25. collections Java: comparer les éléments de collection avec l'autre et de supprimer dans un cycle
- 26. BackboneJS collection ajouter un événement déclenché sur plusieurs collections
- 27. Azure Service Fabric Collection fiable et autre magasin persistant
- 28. Intersection une collection de collections dans LINQ
- 29. problème Java covariance collections
- 30. collection avancée des collections en C#
Quels volumes d'employés attendez-vous? – Ian