Я знаю, что этот вопрос уже задавался, и я следовал на этот вопрос .
Моя структура Firebase.

Мне нужно отобразить Расходы Имя в списке.Если данные повторяются более одного раза, они должны отображать данные в виде списка только один раз, дубликаты данных отсутствуют, а если в базе данных Firebase нет данных дублирования, они также должны быть видны в списке просмотра.
Я попробовал приведенный ниже код, чтобы убрать дубликаты данных, но он не работает для данных, которые не повторяются в базе данных.
Например, в моей пожарной базе
oil // repeated 2 times
petrol //repeated 1 time
Мне нужен выход как
oil
petrol
, но фактический выходной сигнал составляет
oil
MainActivity
listfirebaseref=FirebaseDatabase.getInstance().getReference("Expenses Details").child(username).child(monthYr);
listfirebaseref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
expenseClassList.clear();
int sum = 0;
ExpenseClass expenseClass;
Log.d("Tag", "on list Adpter");
for (DataSnapshot ds : dataSnapshot.getChildren()) {
for (DataSnapshot data : ds.getChildren()) {
String exp = data.child("expensesName").getValue(String.class);
spacecraft = new ExpensesName(exp);
expenseClassList.add(spacecraft);
Log.d("Tag", " " + expenseClassList);
}
}
for (int i = 0; i < expenseClassList.size(); i++) {
for (int j = 0; j < expenseClassList.size(); j++) {
if ((expenseClassList.get(i).equals(expenseClassList.get(j)))) {
expenseClassList.remove(j);
//j;
}
}
}
Log.d("Tag", " list Adpter");
adapter.notifyDataSetChanged();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});