Как найти самую длинную строку в List?

785
04 января 2017, 01:59

Подскажите, пожалуйста, способ нахождения самой длинной строки в ArrayList.

Answer 1

Собссн банальный цикл и сравнение значения с предыдущем вполне спасёт:

ArrayList<String> Str = new ArrayList<String>();
Str.add("Jim Bob");
Str.add("Bobby Jones");
Str.add("Rob Stiles");
int largestString = Str.get(0).length();
int index = 0;
for(int i = 0; i < Str.size(); i++) {
    if(Str.get(i).length() > largestString) {
        largestString = Str.get(i).length();
        index = i;
    }
}
System.out.println("Index " + index + " "+ Str.get(index) + " " + "is the largest and is size " + largestString);  

Вариант с Java8 (использовать java.util.Collections.max)

String max = Collections.max(StrList, Comparator.comparing(s -> s.length()));

Еще вариант с Collections, но до Java8

String max = Collections.max(Str, new Comparator<String>() {
    @Override
    public int compare(String o1, String o2) {
        return o1.length() - o2.length();
    }
});
System.out.println(max);

Collections.max - принимает на вход коллекцию (в данном случае строк) и компаратор, в котором должна быть описана логика сравнения элементов коллекции.

READ ALSO
roll back error

roll back error

Запустил приложение все работало ,обнавил страницу выдал ошибку перезапустил снов одно и тожеЧто это с чем связано ребята??помогите при...

580
В чём различие между jdk, sdk и j2sdk?

В чём различие между jdk, sdk и j2sdk?

В чём заключается различие между JDK, SDK и J2SDK?

598
Ошибка в Retrofit2: Only one encoding annotation is allowed

Ошибка в Retrofit2: Only one encoding annotation is allowed

Использую Retrofit2 для отправки файлов на сервер, POST запрос принимает два параметра file и shared-with, использую такой код:

632
Отобразить четные и нечетные числа по отдельности из массива Java

Отобразить четные и нечетные числа по отдельности из массива Java

Не получается вывести четные и нечетные числа на одной линии:

777