В общем изначально решил не правильно прочитав условие, но в целом остался доволен, что полностью сам и через тернарный оператор смог это сделать. Выглядело это так: for(String x : list){ if (x.length() < min) min = x.length(); } for(String x : list){ if (x.length() > max) max = x.length(); } int first = 0; for (String x : list){ first = (min < max) ? min : max; } for (String x : list){ if (x.length() == first) { System.out.println(x); } } Вобщем сначала обрадовался какая легкая задача и что еще смог сам упростить ее на сколько мне на данный момент хватает знаний. Затем начал разбираться в условии. В целом понимал, что надо через break решить и потом наткнулся на этот кусок в комментариях в итоге задачу дорешал правильно, но теперь остался вопрос - как упрощать такие условия через тернарный оператор, когда в if () два действия system.out и break; и в esle аналогично ведь в тернарном вроде как формула: if () ? действие1 : действие2 где ? [тогда], а : это [еlse]. Так вот - как преобразовать такие блоки из 2х действий в каждом? А то хочется прогрессировать. Я вот буквально на днях из циклов for перешел на for-each и время от времени пытаюсь тернарные операторы где-то применять, но пока у меня понимание их на уровне Объявить какую-то переменную типа int min и поместить в нее условие (a < b) ? a : b; и затем вывести это в консоль sout (min); А вот уже такие блоки как упрощать не особо понимаю. for (String x : list) { if (x.length() == min) { System.out.println(x); break; } else if (x.length() == max) { System.out.println(x); break; } }