Hallo,
ich möchte überprüfen, ob es einen Film schon in der ArrayList gibt. Diese möchte ich anhand der ID, dieses Film machen. Ich habe eine ArrayList von dem Object MovieDataObj. Diese Object beinhaltet die Daten zu den Filmen. Jetzt möchte ich überprüfen, ob ich schon ein Object mit der gleichen ID eingetragen habe..
Habe schon einiges ausprobiert.
mit contains, equals.. Aber ich komm nicht weiter, wie kann ich auf die ID in dem Object zugreifen?
Weil wenn ich schreibe !results.contains(iOfdbID), dann zeigt er mir trotzdem die Doppelten Filme in der Suchanzeige an, dabei sollte er diese doch filtern. Das gleiche habe ich auch mit Equals gemacht...
Dann habe ichs mal richtig kompliziert probiert mit !results.iterator().next().getId().contains(iOfdbID)).
Allerdings hat er dort immer nur die ID von dem ersten eingetragenen Film gehabt udn deswegen auch alle in der ArrayList gespeichert... Ich hoffe ihr könnt mir weiter helfen
Erstmal der Quellcode:
Das MovieDataObj
Klasse wo der vergleich stattfinden soll:
Viele Grüße
ich möchte überprüfen, ob es einen Film schon in der ArrayList gibt. Diese möchte ich anhand der ID, dieses Film machen. Ich habe eine ArrayList von dem Object MovieDataObj. Diese Object beinhaltet die Daten zu den Filmen. Jetzt möchte ich überprüfen, ob ich schon ein Object mit der gleichen ID eingetragen habe..
Habe schon einiges ausprobiert.
mit contains, equals.. Aber ich komm nicht weiter, wie kann ich auf die ID in dem Object zugreifen?
Weil wenn ich schreibe !results.contains(iOfdbID), dann zeigt er mir trotzdem die Doppelten Filme in der Suchanzeige an, dabei sollte er diese doch filtern. Das gleiche habe ich auch mit Equals gemacht...
Dann habe ichs mal richtig kompliziert probiert mit !results.iterator().next().getId().contains(iOfdbID)).
Allerdings hat er dort immer nur die ID von dem ersten eingetragenen Film gehabt udn deswegen auch alle in der ArrayList gespeichert... Ich hoffe ihr könnt mir weiter helfen
Erstmal der Quellcode:
Das MovieDataObj
Java:
public class MovieDataObj {
private String film_id;
private String filmtitel;
private String image;
private String year;
private String inhalt_id;
private String suchkriterium;
private String titel_anzeige;
private String org_titel;
private String imdbID;
// private ArrayList<MovieDataObj> arrlist_movies;
public MovieDataObj(){
film_id = "";
filmtitel = "";
image = "";
year = "";
inhalt_id = "";
suchkriterium = "";
titel_anzeige = "";
org_titel = "";
imdbID = "";
}
public String getId() {
return film_id;
}
public void setId(String str_id) {
this.film_id = str_id;
}
public String getFilmtitel() {
return filmtitel;
}
public void setFilmtitel(String str_titel) {
this.filmtitel = str_titel;
}
public String getImage() {
return image;
}
public void setImage(String str_img) {
this.image = str_img;
}
public String getYear() {
return year;
}
public void setYear(String str_year) {
this.year = str_year;
}
public void setInhaltid(String str_inhaltid) {
this.inhalt_id = str_inhaltid;
}
public String getInhaltid() {
return inhalt_id;
}
public void setSuchkriterium(String suchkriterium) {
this.suchkriterium = suchkriterium;
}
public String getSuchkriterium() {
return suchkriterium;
}
public void setTitel_anzeige(String titel_anzeige) {
this.titel_anzeige = titel_anzeige;
}
public String getTitel_anzeige() {
return titel_anzeige;
}
public void setOrg_titel(String org_titel) {
this.org_titel = org_titel;
}
public String getOrg_titel() {
return org_titel;
}
public void setImdbID(String imdbID) {
this.imdbID = imdbID;
}
public String getImdbID() {
return imdbID;
}
Klasse wo der vergleich stattfinden soll:
Java:
public ArrayList<MovieDataObj> findMovieData(){
ArrayList<MovieDataObj> results = new ArrayList<MovieDataObj>();
setFullsite(TextFactory.del_next_match(getFullsite(), "Titel:"));
int i = 0;
if(TextFactory.checknextpos(getFullsite(), config.getStr_search_film_match(),"</table>")){
while(TextFactory.checknextpos(getFullsite(), config.getStr_search_film_match(),"</table>") && i < 50){
MovieDataObj mdO = new MovieDataObj();
setFullsite(TextFactory.del_next_match(getFullsite(), config.getStr_search_film_match()));
// ID
String iOfdbID = getFullsite().substring(0, getFullsite().indexOf(","));
// mdO.setId(getFullsite().substring(0, getFullsite().indexOf(",")));
mdO.setId(iOfdbID);
setFullsite(TextFactory.del_next_match(getFullsite(), ","));
// Titel
mdO.setFilmtitel(getFullsite().substring(0, getFullsite().indexOf("\"")));
setFullsite(TextFactory.del_next_match(getFullsite(), config.getStr_search_img_match()));
// Bild_Link
mdO.setImage(config.getStr_pic_site() + getFullsite().substring(0, getFullsite().indexOf(""")));
setFullsite(TextFactory.del_next_match(getFullsite(), "\">" ));
// Titel für Anzeige
mdO.setTitel_anzeige(getFullsite().substring(0, getFullsite().indexOf("<font")));
setFullsite(TextFactory.del_next_match(getFullsite(), "/"));
// Original Titel
mdO.setOrg_titel(getFullsite().substring(0, getFullsite().indexOf("</font>")).trim());
setFullsite(TextFactory.del_next_match(getFullsite(), config.getStr_search_year_match()));
// Jahr
mdO.setYear(getFullsite().substring(0, getFullsite().indexOf(")")));
if(results.contains(iOfdbID)){
results.add(mdO);
i++;
}else
System.out.println("Doppelte ID: " + iOfdbID);
}
}else{
int returns = JOptionPane.showConfirmDialog(null, "Ihre Suchanfrage ergab keine Ergebnisse!\n Möchten Sie einen Film manuell hinzufügen?", "Kein Ergebniss", JOptionPane.YES_NO_OPTION);
System.out.println(returns);
}
return results;
}
Viele Grüße