Страницы

Поиск по вопросам

четверг, 8 ноября 2018 г.

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

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


Ответ

Собссн банальный цикл и сравнение значения с предыдущем вполне спасёт:
ArrayList Str = new ArrayList(); 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() { @Override public int compare(String o1, String o2) { return o1.length() - o2.length(); } });
System.out.println(max);
Collections.max - принимает на вход коллекцию (в данном случае строк) и компаратор, в котором должна быть описана логика сравнения элементов коллекции.

Комментариев нет:

Отправить комментарий