2016-02-09 122 views
0

我正在嘗試製作一個數據庫,但使用Java。我使用Arraylists來存儲原始客戶數據,因爲它們是動態的。但是,我目前使用多個陣列列表來存儲每個變量(ID,名稱,年齡)。我的問題是,是否可以存儲多個以下劃線分隔的變量作爲客戶,例如字符串客戶=「A12_Charlie_32」?我會想象它會是與Stringreader或本:如何讀取一次超過1個字符的字符串

for (int index = 0; index < string1.length(); index++) { 
    char aChar = string1.charAt(index); 
} 

如果任何人有任何想法,我將非常感激。

+0

'String.substring '? 'String.split'?不確定你在問什麼。 –

+2

我想你想要的是具有各種屬性的'客戶'對象。然後你可以將它們存儲在一個'Set'中 - 只要記住正確地覆蓋'equals'和'hashCode'。 – Mena

+0

您可以提供更多關於您將使用哪個數據庫的信息。 – Terry

回答

0

我使用Arraylists來存儲原始客戶數據,因爲它們是動態的。但是,我目前使用多個陣列列表來存儲每個變量(ID,名稱,年齡)。

難道我理解正確的話,你在類似的結構將它們存儲到

List<List<String>> 

你會更好創造Customer類所有3個類型屬性和訪問他們,而不是直接解析每次都有字符串。
例如

public class Customer { 
    private int id; 
    private String name; 
    private int age; 
    // ...getters, constructor 
} 

,如果你想使用ArrayList存儲客戶詳細信息,則是很好的,如果你創建了一個類客戶(POJO類),您將提供使用它在列表

List<Customer> 
+0

謝謝,我可能正在努力拼搏爲我自己做我的事。我會做的。 –

0

所有客戶相關的領域以及他們的制定者/獲取者。 然後,您可以將此客戶類的對象傳遞給ArrayList。 這將有兩個基本的好處: 1.你不會需要使用字符串的拆分或子字符串函數,如果字符串構造不當,可能會很昂貴。它也會提高性能,因爲你在做什麼是不可取的。 2.您可以輕鬆檢索與特定客戶相關的所有數據。

我希望這會有所幫助。

1

如果您正在嘗試創建數據庫,最好的辦法是始終使用DBMS。

如果你想使一個DBMS而甚至沒有意識到,這樣的事情應該NEVER被稱爲「數據庫」,最好的辦法是嘗試簡單的東西。

這兩個方法中的哪一個適用於純粹從問題中提出的問題。

(哦,是靠「分隔符」字符串連接技術始終將盡快選定的分隔符可以有效地在任何地方出現在串聯在一起的值突破。不可取的。)

相關問題