私はまだJavaに非常に慣れていないため、コードの編成に関する多くの問題に遭遇しました。クラスにはデータとそのデータを操作するメソッドが含まれている必要があることはわかっていますが、コードをどのように編成するかについては、まだ (私には思えますが) 灰色の領域が見つかります。
たとえば、データとデータを操作するメソッドを含む Object1 があります。Object1 には、このクラスが派生したデータのソートされていない Map を返す (取得する) メソッドが含まれています。DifferentObject1 クラスでは、Object1 のデータを使用して、このデータのグラフを作成します。DifferentObject1 は、受信したマップ内のデータを並べ替える必要があります。マップのキーは文字列で、値は float です。
私の目標は、float の値に応じてマップを最大から最小に並べ替えることです。コードの編成に関する限り、このデータのソートはどこで行われるべきでしょうか? 現在、_myData 変数はソートされていないデータのマップです。また、クラスに Comparator を実装することは、マップをソートする最良の方法ですか?
視覚化に役立つコードを次に示します。
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*
}
}
したがって、基本的に、DifferentObject1 クラスがデータを使用してグラフを作成した後、DifferentObject1 クラスはデータの並べ替えられたグラフを表示する必要があります。