[英]Java Data Structure - Complex Array
我想用Java编写一个复杂的数据结构,在C ++中可能将其称为“结构数组”,而在Pascal中则称为“记录数组”。
其用法的一个示例是为一家信用卡公司构建程序,该程序希望跟踪其所有客户及其信用余额等,例如:(我意识到我的数据类型位于冒号的反面。 )
array[1000] of
{ CustomerName : String ;
AccountNo : Integer ;
Balance : Float ;
Overdue : Boolean }
我已经阅读了三本不同的Java手册,其中一本是我在家中使用的(Y.Liang),另一本是在Barnes and Noble上的两本的,包括“ SAMS在14天内学习Java”。 SAMS Java手册在本书中途提到了“对象数组”,他在这里讨论ArrayList和HashTable,但这似乎并不能回答我的问题。
您应该创建一个类来封装数据:
public class Customer {
private String name;
private int accountNo;
private flaot balance;
private boolean isOverdue;
// Getters, setters, constructor...
}
然后可以创建一个数组:
Custoer[] customers = new Customer[1000];
扩展上面的答案,创建您的类来保存您的数据(例如之前引用的公共类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称为容器。 C ++的stdlib具有自己的容器样式,因此您应该熟悉它。 好处是它本质上是动态的-如果您赚更多,列表可以增长,并且可以执行list.size()来查看其中有多少项。
这比使用Customer []数组更为常见。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.