在java中创建对列表

新手上路,请多包涵

哪个类最适合无序的对列表?我将采用一堆 (float,short) 对,并且需要能够执行简单的数学运算(比如将这对对相乘以返回单个浮点数等)。 List 只接受一个参数,而 HashMap 不允许重复(据我所知)。有什么想法吗?

原文由 V1rtua1An0ma1y 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 393
2 个回答

您可以使用 Entry<U,V> getKeyHashMap getValue

 List<Entry<Float,Short>> pairList = //...

我的偏好是创建您自己的简单 Pair 类:

 public class Pair<L,R> {
    private L l;
    private R r;
    public Pair(L l, R r){
        this.l = l;
        this.r = r;
    }
    public L getL(){ return l; }
    public R getR(){ return r; }
    public void setL(L l){ this.l = l; }
    public void setR(R r){ this.r = r; }
}

然后当然要使用这个新类制作一个 List ,例如:

 List<Pair<Float,Short>> pairList = new ArrayList<Pair<Float,Short>>();

您也可以始终制作一个 ListList s,但是强制调整大小变得困难(您只有对)并且您需要像数组一样具有一致的打字。

原文由 Mark Elliot 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用自定义类实例列表。自定义类是某种 Pair 或 Coordinate 或其他。然后就

List<Coordinate> = new YourFavoriteListImplHere<Coordinate>()

这种方法的优点是它可以满足“执行简单的数学运算(比如将一对乘以返回单个浮点数等)”的要求,因为您的自定义类可以具有用于您需要做的任何数学运算的方法……

原文由 hvgotcodes 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题