Проверьте, совпадают ли значения ArrayList - IN A ROW - - PullRequest
0 голосов
/ 01 февраля 2020

У меня есть вопрос, на который я не нашел ответа. Итак, у меня есть ArrayList, состоящий из 2 типов значений: Won или Loss. Значения приходят в другом порядке. Мне нужно проверить, сколько раз одно и то же значение берется из верхней части массива, чтобы показать, например, что пользователь выиграл 5 раз подряд.

ArrayList <String> wins = new ArrayList<String>();
System.out.print(wins);

[Won, Won, Won, Loss, Loss, Won, Won, Loss, Loss, Loss, Loss, Loss, Won, Won, Won, Won, Won, Loss]

Может кто-нибудь понять это? Я уже некоторое время пытался, но, к сожалению, пока не смог найти решение. T

1 Ответ

1 голос
/ 01 февраля 2020

// Предполагается, что список имеет минимум один элемент

List<String> wins = Arrays.asList(new String[]{"Won", "Won", "Won", "Loss", "Loss", "Won", "Won", "Loss", "Loss", "Loss", "Loss", "Loss", "Won", "Won", "Won", "Won", "Won", "Loss"});
        System.out.println(wins);
        String value = wins.get(0);
        int maxValue=1;
        int count = 1 ;
        for(int i=1;i<wins.size();i++){
            if(wins.get(i) == wins.get(i-1)){
                count++;
                if(count >= maxValue){
                    maxValue = count;
                    value = wins.get(i);
                }
            }else{
                count=1;
            }
        }
        System.out.println(value + " : " + maxValue );
...