繁体   English   中英

Java数据结构-复杂数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM