2017-10-03 10 views
1

私はJavaで、C++で "構造体の配列"またはパスカルの "レコードの配列"と呼ばれる複雑なデータ構造体をコーディングしたいと考えています。Javaデータ構造 - 複合配列

例としては、すべての顧客とその預金残高などを追跡したいクレジットカード会社向けのプログラムを構築することです。(私は間違ったデータ型コロンの側)SAMSはでJavaを学び」を含む

array[1000] of 
    { CustomerName : String ; 
     AccountNo  : Integer ; 
     Balance  : Float ; 
     Overdue  : Boolean  } 

私は3種類のJavaのマニュアルを通読してきた、私は家 (Y.Liang)で持っている1、及びバーンズ&ノーブルの二つの他のもの、 14日間"。 SAMS Javaのマニュアルには、ArrayListとHashTableについて議論している本の中途半端の「オブジェクトの配列」が記載されていますが、それは私の質問に答えてくれないようです。

答えて

0

あなたはあなたのデータをカプセル化するクラスを作成する必要があります。

public class Customer { 
    private String name; 
    private int accountNo; 
    private flaot balance; 
    private boolean isOverdue; 

    // Getters, setters, constructor... 
} 

をそしてあなたはそれの配列を作成することができます:上記の答えに拡張する

Custoer[] customers = new Customer[1000]; 
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のがコンテナと呼ばれています。 C++のstdlibには独自のスタイルのコンテナがあるので、これはあなたにはよく知られています。利点は、本質的に動的であることです。リストを作成するとリストが大きくなり、list.size()を実行すると項目数が表示されます。

これは、Customer []配列を使用するよりもはるかに一般的です。