#java #массивы #arraylist
Подскажите, пожалуйста, способ нахождения самой длинной строки в ArrayList.
Ответы
Ответ 1
Собссн банальный цикл и сравнение значения с предыдущем вполне спасёт: ArrayListStr = 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 - принимает на вход коллекцию (в данном случае строк) и компаратор, в котором должна быть описана логика сравнения элементов коллекции.
Комментариев нет:
Отправить комментарий