У меня есть два списка, объявленных как:
private var answersList: MutableSet<AnswerRequest> = mutableSetOf()
private var answerListCreated: MutableSet<AnswerResponse> = mutableSetOf()
AnswerRequest содержит только String
внутри, а AnswerResponse
содержит больше атрибутов, таких как Int
, String
, Boolean
, поэтому я пытаюсь достичь итерации по answerListCreated
и найти например, внутри String
как answerList
.
answerList содержит: "Hello", "Bye", "Cucu"
answerListCreated содержит; { "Hello", 3, ложь}, {...}
Итак, я пытаюсь найти слово "Hello" в answerListCreated
, чтобы я мог получить id
.
То, что я сейчас делаю, это:
answerListCreated.forEach { a1->
correctAnswersList.forEach { a2->
if(a1.answerToQuestion == a2.answerToQuestion){
//Get the a1.id
}
}
}
Но я не знаю почему, дважды обращаюсь к оператору if, если это Set
, этот список не повторяется, верно? Есть ли другой способ сделать это?
EDIT
List1 Просто строки
Объекты List2 являются результатом API, они имеют одинаковую строку List1, но тогда я могу проверить Id.
data class ListExample1 (val text : String)
data class ListExample2 (val text : String, val id: Int, val exist: Boolean)