У меня есть база данных Firebase, поэтому я сделал запрос для получения изображений на основе запроса тега. Но после получения данных из базы данных, когда я пытаюсь добавить их в список массивов. Я даю мне двойное значение. Я не знаю, проблема ли это в firebase или java. image0 и изображение 1 добавляются дважды. Я попытался очистить дублирующее значение с помощью Hashset. Еще одна странная вещь: цикл повторяется только два раза, я проверил его с помощью счетчика. 
private void searchInWallpapers(){
Query wallpaperquery = myRef.child("wallpapers").orderByChild("tag").equalTo(keyWord);
wallpaperquery.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
int i = 0;
for (DataSnapshot eachImage : dataSnapshot.getChildren()) {
ImageModelClass data2 = new ImageModelClass(eachImage.child("imgUrl").getValue().
toString(),eachImage.child("like").getValue().toString(),eachImage.child("title").getValue().toString());
resultList.add(data2);
}
Set<ImageModelClass> set = new HashSet<>(resultList);
resultList.clear();
resultList.addAll(set);
imageListAdapter imageListAdapter = new imageListAdapter(search_result.this,resultList);
resultRecycler.setAdapter(imageListAdapter);
FlexboxLayoutManager layoutManager = new FlexboxLayoutManager(search_result.this);
layoutManager.setJustifyContent(JustifyContent.SPACE_AROUND);
layoutManager.setFlexDirection(FlexDirection.ROW);
resultRecycler.setLayoutManager(layoutManager);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}