我想搜索添加到列表中的数据。我可以吗? 比如在数据库中选择查询。
这是我的代码
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 :(得分:6)
问题始于&#34;我可以&#34;所以答案是肯定的,你可以。但你不应该这样做。
首先,如果您希望数据库检查是否存在值,请使用数据库。如果你仍然想用Java实现它(如果你不在执行后将其存储在某个地方,这是暂时的),我强烈建议使用HashMap。从HashMap检索的复杂度为O(1),而ArrayList的复杂度为O(n),用于相同的操作。
答案 1 :(得分:0)
我认为初始代码中的错误的主要原因是你在String数组中搜索一个Integer。试试这个(注意引号):
boolean a = list.contains("72");