【发布时间】: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。