我想在Java中编写一个复杂的数据结构,在C ++中可能被称为"结构数组"或者在Pascal"记录阵列"。
其使用的一个例子是为信用卡公司构建计划,该公司希望跟踪所有客户及其贷方余额等等:(我发现我的数据类型错误结肠)
array[1000] of
{ CustomerName : String ;
AccountNo : Integer ;
Balance : Float ;
Overdue : Boolean }
我已经阅读了3本不同的Java手册,一本是我在家里的 (Y.Liang)和Barnes and Noble的另外两个人,包括" SAMS在14天内学习Java"。 SAMS Java手册提到了一个"对象阵列"大约在本书的一半,他正在讨论ArrayList和HashTable,但这似乎没有回答我的问题。
答案 0 :(得分:0)
您应该创建一个类来封装您的数据:
public class Customer {
private String name;
private int accountNo;
private flaot balance;
private boolean isOverdue;
// Getters, setters, constructor...
}
然后你可以创建一个数组:
Custoer[] customers = new Customer[1000];
答案 1 :(得分:0)
扩展上面的答案,创建一个类来保存您的数据(例如之前引用的公共类Customer)。
然后,您可以使用java.util.ArrayList。而不是固定长度的数组。
java.util.ArrayList<Customer> list = new java.util.ArrayList<Customer>();
Customer newObject = new Customer();
... populate newObject.
list.add(newObject);
如果要迭代列表,可以执行此操作(或其他一些方法):
for (Customer customer: list) {
...
}
ArrayList称为Container。 C ++的stdlib有自己的容器样式,所以这对你来说应该很熟悉。它的优势在于它本质上是动态的 - 如果你制作更多,列表可以增长,你可以使用list.size()来查看其中有多少项。
这比使用Customer []数组要常见得多。