Je suis encore très jeune à Java et je rencontre beaucoup de problèmes avec l'organisation du code. Je sais qu'une classe devrait contenir des données et des méthodes qui fonctionnent sur ces données, mais je trouve toujours (ce qui me semble) des zones grises quant à la façon dont le code devrait être organisé.Où/Comment implémenter un comparateur
Par exemple, j'ai Object1 qui contient des données et des méthodes qui fonctionnent sur les données. Object1 contient une méthode qui renvoie (obtient) une carte non triée des données dérivées de cette classe. Dans la classe DifferentObject1, j'utilise les données de Object1 pour créer un graphique de ces données. DifferentObject1 a besoin que les données de la carte reçue soient triées. Les clés de la carte sont des chaînes et les valeurs sont flottantes.
Mon objectif est de trier la carte du plus grand au plus petit selon la valeur du flotteur. En ce qui concerne l'organisation du code, où devrait-on trier ces données? À l'heure actuelle, la variable _myData est une carte de données non triée. En outre, l'implémentation de Comparator sur une classe est-elle le meilleur moyen de trier la carte?
Voici un code pour vous aider à visualiser:
public class Object1
{
private Map<String, float> _myData = new HashMap<String, float>();
public Object1
{
*do stuff....*
}
public Map<String, float> getMyData() { return _myData; }
}
public class DifferentObject1
{
public DifferentObject1(Object1 obj1)
{
*do stuff with obj1*
}
}
Donc, fondamentalement ma classe DifferentObject1 devrait afficher un graphique des données après Sorted ma classe DifferentObject1 est effectuée en utilisant les données pour construire le graphe.
Que se passe-t-il avec cet endroit? Je descends des voix et je ne sais même pas pourquoi. –
Je n'ai pas voté bas vous et je ne prévois pas, mais je soupçonne que c'est parce que si vous tapez les mots "comparateur java" dans google, [c'est le premier lien renvoyé] (http: //www.vogella .com/blog/2009/08/04/collections-sort-java /) Je suggère de lire ça. De plus, les 'Map's ne sont pas à trier. – durron597
Merci pour cela. J'ai fait des recherches, mais parfois je ne comprends pas toujours ce que je lis et les solutions fournies. C'est pourquoi j'ai posé la question ici. Je cherchais plus de profondeur pour comprendre mon problème. –