2014-10-20 64 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

相关问题