2011-01-03 2 views
1

Я очищаю свой код, должен ли я изменить следующую функцию на запрос MySQL? Если да, то какая хорошая функция MySQL для достижения этой функциональности?Переписать эту функцию как запрос БД?

public ArrayList getNewTitles(ArrayList candidateTitles, ArrayList existingTitles) { 

    ArrayList newTitles = new ArrayList(); 
    Movie movie = new Movie(); 
    boolean isNew = true; 

    for(int i=0; i<candidateTitles.size(); i++) { 

     for(int j=0; j<existingTitles.size(); j++) { 

      movie = (Movie)existingTitles.get(j); 

      if(((String)candidateTitles.get(i)).equals(movie.getRawTitle())) { 
       isNew = false; 
      } 

     } 

     if(isNew == true) { 
      System.out.println("newTitle for crawling: " + (String)candidateTitles.get(i)); 
      newTitles.add((String)candidateTitles.get(i)); 
     } 
     else { 
      System.out.println("candidate binned: " + (String)candidateTitles.get(i)); 
     } 


     isNew = true; 

    } 

    return newTitles; 

} 

ответ

1

Не зная структуры таблицы, я предполагаю, что это может быть что-то вроде этого:

SELECT * FROM movies WHERE title NOT IN (SELECT title FROM existingTitles); 
Смежные вопросы