【问题标题】:Dynamic Array of Objects JavaJava 的动态对象数组
【发布时间】:2012-12-15 21:41:01
【问题描述】:

我正在用 Java 编写财务计算器,我需要能够获取交易信息,例如名称、金额和类型。它需要动态调整大小并能够保存信息。基本上我需要一个 ArrayList 和一个对象数组之间的混合,但我真的找不到任何存在的东西。通过查看这个问题Creating an Arraylist of Objects,以及下面的代码:

ArrayList<Matrices> list = new ArrayList<Matrices>();
list.add( new Matrices(1,1,10) );
list.add( new Matrices(1,2,20) );

看起来我每次都可以创建一个新对象来保存我的数据,所以就我的目的而言,它看起来像这样

ArrayList<Payments> paymentList = new ArrayList<Payments>();
paymentList.add( new Payments(var1, var2, var3) ); 

我可以在 ArrayList 中输入变量吗?当然,一旦我将它们全部转换为字符串(或者我可以将它们保留为 String / Double / String,因为我在技术上将对象添加到 ArrayList 而不是字符串值?

【问题讨论】:

  • 我不确定我是否理解您的问题。如果是:我可以将任何类型的对象添加到 ArrayList 中,答案是肯定的。如果是:Payment 对象除了其他字段为 String 类型之外,是否还可以保存 double 类型的字段,答案当然也是可以的。
  • 好的,是的,这两个问题都与我最初的问题有关。我的问题更像是“这是我的思考过程,它会起作用”之类的事情。现在的另一个问题是,如果我实现这个,当我去排序和搜索以及所有这些时,我基本上必须运行一个循环来检查 paymentList ArrayList,然后在其中检查 Payments 对象是否正确?
  • 没有。您将使用 Collections.sort() 对列表进行排序。对于搜索,这取决于您搜索的内容、列表的大小以及搜索的频率。 List 不一定是最好的数据结构。但如果没有明确的要求,就不可能给出明确的答案。阅读collections tutorial

标签: java arrays object


【解决方案1】:
paymentList.add( new paymentList(var1, var2, var3) ); 

表示您即将添加一个新的 Payments 实例到数组列表 (paymentList)。关于 var1、var2 和 var3 的类型(字符串或双精度)。这取决于您如何定义 Payments 类的构造函数。

只要您有一个 Payments 实例,您就可以添加到该 arrayList。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-27
    • 2011-01-20
    • 1970-01-01
    • 2011-11-08
    • 2015-03-16
    • 2019-04-17
    • 2021-01-30
    相关资源
    最近更新 更多