我正在为我的学校、机器人俱乐部编写一个机器人程序,并且需要一种将物体组织成对的方法。代码使用两个螺线管对象来表示一个电磁阀扩展了一个回缩,我想将这两个对象放在一个“对”中来跟踪,因为我将处理大量的电磁阀对象。现在,从C++的长背景出发,我将使用一个结构,甚至更好的是默认的STL对。我应该使用什么样的数据结构来组织对对象?。我对Java相当陌生,所以我感兴趣的是,是否有比类更好的用途。
发布于 2013-01-14 23:34:33
注意,在C++中,您可以很容易地使用类来表示一对。因为Java只有类,所以这是您唯一的选择。换句话说,如果您愿意,可以轻松地滚动您自己的结对类。您甚至可能需要一个自定义类,它表示这种配对,但也定义了对中的两个对象之间的确切交互。
或者,您可以使用java.util.Map。如果在对中的元素之间存在某种映射语义(即,对是有序的),这尤其有用。
发布于 2013-01-14 23:34:08
我认为这不仅仅是“保持他们在一起”。如果你的螺线管对有不同的行为(一个收缩,另一个扩展),我想说你需要一种新的类型以外的对来实现这一点。它应该是具有适当行为的自定义类型(例如SolenoidPair)。
发布于 2013-01-14 23:36:16
如果您想注册您自己的配对类:
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);你可能也想把一些策划人扔进去!
但是似乎有一种更好的方法来封装您的数据。最好是将更多的逻辑封装在这对类中,并创建一个真正的对象,在其中使用一些更精细和适当的方法。
https://stackoverflow.com/questions/14328710
复制相似问题