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

+0

Кажется, что вы ищете целое число внутри списка строк. –

+0

Почему вы очищаете список с помощью list.clear() в начале цикла while? –

ответ

6

вопрос начинается с «Могу ли я», так что ответ ДА, то вы можете. Но вы НЕ должны этого делать.

Во-первых, если вы хотите, чтобы база данных проверяла, существует ли значение, используйте базу данных. Если вы все еще хотите реализовать его на Java (это временно, если вы не храните его где-то после выполнения), я настоятельно рекомендую использовать HashMap. Сложность извлечения из HashMap равна O (1), тогда как сложность ArrayList равна O (n) для той же операции.

0

Я думаю, что основной причиной ошибки в исходном коде является то, что вы ищете Integer в массиве String. Попробуйте это (обратите внимание на котировки):

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

. Я пробовал это. он также не дает –

Смежные вопросы