我对 java 还是很陌生,在代码组织方面遇到了很多问题。我知道一个类应该包含数据和对该数据进行操作的方法,但我仍然发现(在我看来)关于如何组织代码的灰色区域。
例如,我有 Object1,其中包含数据和对数据进行操作的方法。Object1 包含一个方法,该方法将返回(获取)此类派生的未排序数据 Map。在 DifferentObject1 类中,我使用来自 Object1 的数据来构建该数据的图表。DifferentObject1 需要对它接收到的地图中的数据进行排序。地图中的键是字符串,值是浮点数。
我的目标是根据浮动的值从最大到最小对地图进行排序。就代码组织而言,这些数据的排序应该发生在哪里?现在,_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 类使用数据构建图之后显示一个排序的数据图。