Я не совсем уверен, как сформулировать это, но я выполняю задание, используя Java swing MVC для каталога mov ie. У меня есть JTextfields, и когда пользователь добавляет mov ie с деталями mov ie, перед сохранением mov ie он должен проверить, существует ли жанр cast et c. Если они делают, то это добавляется хорошо. Если они не существуют, то, например, жанр необходимо добавить к классу жанра, а затем использовать для добавления mov ie. Когда жанры добавляются в виде строки, он преобразуется в массив. Затем добавляется еще один массив всех существующих жанров. есть 2 цикла for и затем if / else, чтобы проверить, истинно или нет:
String genres = addNewItem1.getGenretextfield().getText();
String[] items = genres.split(",");
List <String> genreStringArray = Arrays.asList(items);//temp
ArrayList<genres> genArray = new ArrayList<genres>();//Empty
int nextGid = model.getGenres().size()+1;
for(genres g: model.getGenres()){
for(String s: genreStringArray) {
if(g.getGenre().contentEquals(s)) {
genArray.add(g);
}
System.out.print("No");
}
}
shows.setGenre(genArray);
Если жанр уже существует, жанры добавляются в 'genArray'. Проблема в том, если они не существуют. Поскольку он находится внутри 2 для циклов в секции else, я должен протестировать sys.out, он напечатает несколько раз. Я только хочу, чтобы тот жанр, который не существует, уже добавлялся к другому arraylist Я пробовал несколько различных вариантов циклов for и if / else, но я просто получаю тот же результат. Поскольку ArrayLists имеют два разных типа, я должен использовать contentEquals, а не ==. Я также пробовал метод .remove (), но, поскольку они разные, он не позволяет этого.
Existing Genres(Animation, Comedy, Thriller, Drama)//List of existing genres
GenreStringArray(Musical,Comedy)//User added genre list
GenArray(Comedy)//GenArray gets genres that do exist
genreStringArray(Musical)//This array keeps the non existent genres that were added
Большое спасибо