Могу ли я попросить совета по алгоритму извлечения ArrayList в Java?

#java #android

#java #Android

Вопрос:

У меня есть класс в Java, подобный этому

 for (....) {
       tarik_id.add(id);
}
  

что tarik_id такое a List<String> , и я хочу добавить (id) , что нужно записать tarik_id arrayList . И затем….

 hasil = db.getDetailResult(tarik_id);
  

getDetailResult это класс для выбора всего (id) , что я извлек tarik_id .
И hasil является двумерной таблицей (List.List.String..)

Я думаю, что tarik_id это не возвращает значение в моей второй строке выше. Я попытался войти в систему.я мой id , и LogCat возвращает истинные значения my id . Мой вопрос в том, как tarik_id in . getDetailResult возвращает все array значения?

Комментарии:

1. Я не понимаю, что вы имеете в виду =

2. Я согласен с @LuiggiMendoza. Немного больше контекста в именах переменных, а также общая цель помогли бы

3. во-первых, я получил переменную id. Затем я хочу добавить эти идентификаторы в tarik_id, которые можно увидеть выше в loop(for). Затем с помощью procedure .getDetailResult я хочу выбрать все идентификаторы, которые были включены в tarik_id, и я хочу создать новую 2-мерную таблицу (hasil), которая может обернуть весь результат запроса. Есть вопросы?

4. Из фрагмента кода может быть две причины этой проблемы. Сначала условие для цикла. Убедитесь, что цикл for выполняется. Во-вторых, вы передаете параметр процедуре. Можете ли вы поделиться этим фрагментом кода вызова базы данных?

Ответ №1:

сделайте свой код следующим:

 // put the first id in first
StringBuilder stringBuilder = new StringBuilder(id.get(0));
// start the loop from the 2nd
for (i=1; i < idList.size(); i  )
{
    stringBuilder.append(",").append(id.toString());
}
String ids = stringBuilder.toString()
hasil = db.getDetailResult(ids);
  

Измените код, getDetailResult() чтобы запрос был примерно таким

 if(ids.equals("")){
      return null;
}
String sql = "SELECT * FROM...... WHERE ID IN(" ids ").....";
  

Я думаю, что это намного быстрее, все записи за 1 попадание и нет необходимости во втором цикле.