Через equals сравниваем последовательные элементы списка, увеличивая count. Когда условие false, т.е. последовательность прерывается, сравниваем count > countMax, записываем в countMax - кол-во последовательных элементов. Обнуляем count.
Есть ли другие способы решить эту задачу?
package com.javarush.task.task08.task0812;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Cамая длинная последовательность
*/
public class Solution {
public static void main(String[] args) throws IOException {
List<Integer> list = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 10; i++) {
int num = Integer.parseInt(reader.readLine());
list.add(i, num);
}
//System.out.println(list);
int count = 1;
int countMax = 1;
for (int i = 0; i < list.size() - 1; i++) {
if (list.get(i).equals(list.get(i + 1))) {
count++;
if (count > countMax) {
countMax = count;
} else {
count = 1;
}
}
}
System.out.println(countMax);
}
}