2014-11-23 84 views
0

我在一個項目中,創建一個銀行管理系統的NetBeans工作;用戶將鍵入他們的帳號,姓名,地址。這些信息將被存儲在一個無限存儲大小的類中。我還想要一個功能來打印與帳戶一起存儲的最後六筆交易。Java對象 - 數據結構

主要的問題我也碰到過是我可以使用什麼類型的數據結構來存儲兩個帳戶對象,交易的數量不受限制,並且這將是我搜索的。

感謝您的任何幫助。

+1

你可能想看看[java的集合框架](https://docs.oracle.com/javase/tutorial/collections/index.html) – A4L 2014-11-23 22:54:00

+0

沒有這樣的事情,'無限的存儲大小' 。內存,堆和磁盤都是有限的。 – EJP 2014-11-23 23:04:18

+0

根據項目的範圍,數據庫可能是合適的。 [MySQL和Java JDBC - Vogella.com上的教程](http://www.vogella.com/tutorials/MySQLJava/article.html);也許[一個嵌入式數據庫](http://en.wikipedia.org/wiki/Embedded_database)?如果這只是一項家庭作業,那當然這是一種過度的殺傷力。 – fabian 2014-11-23 23:18:52

回答

0

幾乎任何內置的類,它實現了List接口(例如LinkedListArrayList可以用來存儲儘可能多的數據JVM將讓你的程序中使用。爲了存儲這些程序關閉後,你需要一種方法來將數據存儲在一個文件或某種,其可以根據需要加載到列表的數據庫。作爲List接口包括contains(Object o)方法,任何亞類可以被搜索。

Java documentation爲更詳細的信息

+0

謝謝你的幫助。應該將帳戶和交易存儲在一個(arraylist)還是可以將兩個arraylist連接起來? – Khalid 2014-11-24 06:41:31

+0

名單參數與一個類或接口(這就是爲什麼你會宣佈它,說,'ArrayList的')。如果您正在爲賬戶和交易編寫單獨的類(您應該),則Account類可以包含交易列表對象,而主類可以包含賬戶列表。然後您將通過Account對象訪問交易。 – alomeli 2014-11-24 12:23:56

0

您可以使用:
隊列 - LIFO(後進先出):打印最近6交易將是沒有問題的。
的ArrayList:非常快的結構增加新的元素時,如果你知道一個元素的索引,也非常快檢索和刪除。
或者你可以使用某種樹。

+0

謝謝你的幫助。應該將帳戶和交易存儲在一個(arraylist)還是可以將兩個arraylist連接起來? – Khalid 2014-11-24 06:42:08

+0

賬戶和交易是兩個不同的對象,不能存儲在一個列表中。你必須使用兩個列表。 – 2014-11-24 10:13:27