[Résolu] Hashmap, hashset et classes !
Bonjour à tous !
Je suis actuellement entrain de travailler sur un projet d'école de niveau débutant, mais ne connaissant pas bien le Java je bloque sur une question qui me permettrait de finir et de rendre mon projet.
En effet, le but de ce projet est de manipuler et utiliser les classes en Java.
Pour cela, nous devons gérer un magasin en créant des classes pour son stock et ses articles.
Les articles proposés par le magasin sont caractérisés par une référence (représentée par un chaîne de caractères formée de chiffres de longueur 8 au maximum), une dénomination, un prix hors taxe, un taux de TVA.
En partant de la, j'ai créé une classe Article (qui est validée, mais si vous avez des remarques n'hésitez pas).
Celle-ci ressemble à ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| public class Article {
private String Reference;
private String Nom;
private float Prix;
private float Tva;
public static void Article(){};
public void Article(String Ref, String Nom, float TVA, float Prix)
{
if(Ref.length()<=8)
{
this.Reference = Ref;
this.Nom = Nom;
this.Tva = TVA;
this.Prix = Prix;
}
else
{
System.out.println("Erreur : référence trop longue.");
}
}
public void setArticleRef(String Ref)
{
if(Ref.length()<=8)
{
this.Reference = Ref;
}
else
{
System.out.println("Erreur : référence trop longue.");
}
}
public String getArticleRef()
{
return this.Reference;
}
public void setArticleNom(String Nom)
{
this.Nom = Nom;
}
public String getArticleNom()
{
return this.Nom;
}
public void setArticleTVA(float TVA)
{
this.Tva = TVA;
}
public void setArticlePrix(float Prix)
{
this.Prix = Prix;
}
public float getArticlePrix()
{
return this.Prix;
}
public String toString()
{
return "[ref : " + this.Reference + ", nom : " + this.Nom + ", PrixHT : " + this.Prix + ", TVA : " + this.Tva + "]";
}
} |
Ensuite, il nous est demandé :
Citation:
Créer une classe Stock qui rassemble l'ensemble des articles créés dans une même structure de données
(Collection). Il faut aussi représenter le nombre d'exemplaires disponibles pour chaque article. On choisira
dans le package java.util la structure la plus adaptée parmi :
ArrayList, HashMap, HashSet.
En plus de ses constructeur et accesseurs, cette classe devra comporter des méthodes :
pour ajouter un article au stock.
pour le supprimer du stock
pour retourner un article connaissant sa référence
pour retourner le nombre d'exemplaires associé à un article
J'ai trouvé qu'il fallait utiliser Hashmap ou Hashset pour cette nouvelle classe car celles-ci permettent d'éviter les doublons, mais je ne comprends vraiment comment mettre en place cette classe avec Hashmap ou Hashset, en fait je ne vois pas vraiment à quoi ça sert.
On va créer une variable de type Hashmap ou Hashset dans la classe pour regrouper les Articles créés ? Ou est-ce la classe Stock qui est de type Hashmap ou Hashset ?
Je suis vraiment dans le floue, je n'arrive pas à saisir ce à quoi sert vraiment ces fonctions. J'ai lu le tutoriel dans la section Java parlant des collections, mais je ne vois pas comment l'utiliser le mettre en place dans mon cas.
Une autre question c'est, comment récupérer les différentes instances de classes de la classe Article ? Est-ce possible ?
Je n'arrive pas à faire le lien entre les deux classes que je vous ai cités.
Si quelqu'un peut prendre du temps pour m'expliquer les collections, ou du moins leurs mises en places / architecture dans mon problème ce serait cool.
Je ne demande pas à ce qu'on réalise mon projet. Mais qu'on me donne des indices pour avancer.
En vous souhaitant une bonne soirée.
Cordialement,
Helmut O'Brian