如何在Java中创建对象对或组织我的代码

时间:2013-01-14 23:28:58

标签: java organization

我正在为我的学校机器人俱乐部编写一个机器人,并且需要一种将对象组织成对的方法。该代码使用两个螺线管对象来表示一个延伸缩回的螺线管,我想将这两个物体放入一对“跟踪”中,因为我将处理大量的螺线管物体。现在来自C ++的长背景,我会使用一个结构,甚至更好的默认STL对。 我应该使用什么样的数据结构来组织对象?。我对Java很新,所以我很感兴趣,如果有更好的东西可以使用,而不仅仅是一个类。

4 个答案:

答案 0 :(得分:5)

请注意,在C ++中,您可以轻松地使用类来表示一对。由于Java只有类,因此这是您唯一的选择。换句话说,如果您愿意,您可以轻松地滚动自己的Pair类。您甚至可能需要一个表示此配对的自定义类,但也定义了该对中两个对象之间的确切交互。

或者,您可以使用java.util.Map。如果对中的元素之间存在某种映射语义(即该对是有序的),这尤其有用。

答案 1 :(得分:3)

我认为这不仅仅是“将它们保持在一起”。如果你的螺线管对有不同的行为(一个缩回,另一个伸出),我会说你需要一个超出Pair的新类型来实现它。它应该是具有正确行为的自定义类型(例如SolenoidPair)。

答案 2 :(得分:1)

如果你想推出自己的Pair类:

public class Pair<X, Y> {

    private final X x;
    private final Y y;

    public Pair(X x, Y y) {
        this.x = x;
        this.y = y;
    }

    public X getX() {
        return x;
    }

    public Y getY() {
        return y;
    }
}

用过:

Pair<String, Integer> p = new Pair<String, Integer>("Heloo", 100);

你可能也想在那里扔些人!

但似乎可能有更好的方法来封装您的数据。在这个对类中包含更多的逻辑可能是一个更好的主意,并创建一个真实的对象,其中有一些更精确和适当的方法。

答案 3 :(得分:0)

考虑使用Apache Commons的Pair<L, R>