Начал изучать Java. Сейчас пишу небольшой проект. Появилась проблема. Суть такова:
нужно вывести элемент ArrayList лишь 1 раз.
ArrayList содержит в себе числа: {1,3,5,4,5,1,2,3}
Так вот нужно вывести элемент 1 лишь 1 раз, затем 3 лишь 1 раз и так далее.
Вариант с удалением лишних, повторяющихся знаков не подходит, потому что этот ArrayList "связан" с другим, и там храняться нужние мне строки.
Попытался посчитать количество повторяющихся элементов Collection.frequency, в принципе результат есть, но я не знаю как сделать вывод лишь 1 раз. Пытался циклом do..while., но не вывод текста из другого ArrayList происходит .
Код:
arrayExercise.add(index, new ExerciseArray(name, touch, count, day));
Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, false), "cp1251"));
List tempList = new ArrayList<>();
int freq = 0;
for(int i=0; i
tempList.add(arrayExercise.get(i).getDay());
freq = Collections.frequency(tempList, arrayExercise.get(i).getDay());
// System.out.println(s);
do{
writer.write("Элемент: " + arrayExercise.get(i).getDay() + System.getProperty("line.separator"));
writer.write("Текст1: "+arrayExercise.get(i).getName()+", Текст2: "+arrayExercise.get(i).getTouch()+" x "+arrayExercise.get(i).getCount()+System.getProperty("line.separator"));
} while (freq<0);
if(freq>1){
writer.write("Текст1: "+arrayExercise.get(i).getName()+", Текст1: "+arrayExercise.get(i).getTouch()+" x "+arrayExercise.get(i).getCount()+System.getProperty("line.separator"));
continue;
}
}
arrayExercise - лист с обьектами, в котором храниться информация об элементах