Java数据结构 - 复杂数组

时间:2017-10-03 21:53:53

标签: java arrays

我想在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,但这似乎没有回答我的问题。

2 个答案:

答案 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 []数组要常见得多。