2014-10-20 66 views
0

我想搜索添加到列表中的數據。我可以嗎? 就像在數據庫中選擇查詢。我可以在java中使用列表作爲數據庫

這是我的代碼

List<String> list = new ArrayList<String>(); 
while (dataRow != null){ 
    list.clear(); 
    String[] dataArray = dataRow.split("\t"); 
    for (String item:dataArray) { 
     list.add(item); 
    } 
    Iterator<String> it = list.iterator(); 
    while (it.hasNext()) { 
     String txt = it.next(); 
     System.out.print(txt+"\t"); 
    } 
    System.out.println(); // Print the data line. 
    dataRow = TSVFile.readLine(); 
} 
boolean a=list.contains(72);//////it is not working 
System.out.println(a); 
+0

使一些努力,清晰地表達自己的需要。不想讀取您的代碼以瞭解您想要執行的操作 – Dici 2014-10-20 11:04:00

+0

您似乎在字符串列表中尋找一個整數。 – 2014-10-20 11:04:22

+0

爲什麼在while循環的開始處用list.clear()清空列表? – 2014-10-20 11:06:57

回答

6

的問題開始與「我能」,所以答案是肯定的,就可以了。但你不應該這樣做。

首先,如果您希望數據庫檢查值是否存在,請使用數據庫。如果你仍然想用Java來實現它(如果你在執行後沒有把它存儲在某個地方,這是暫時的),我強烈推薦使用HashMap。從HashMap中檢索的複雜度是O(1),而ArrayList的複雜度對於相同的操作是O(n)。

0

我認爲在最初的代碼中的錯誤的主要原因是,你正在尋找一個字符串數組中的整數。試試這個(注意引號):

boolean a = list.contains("72"); 
+0

我試過這個。它也沒有給予 – 2014-10-20 11:29:04

相關問題