Согласно StackOverflow-On Topic, это специфическая проблема программирования, программный алгоритм, программные инструменты, обычно используемые программистами, и это практичный, которые уникальны для разработки программного обеспечения.
...
Я пытаюсь определить правильный способ изменения всех значений в List
с использованием новой функции lambdas в предстоящем выпуске Java 8 без создания **new** List
.
Это относится к временам, когда a List
передается вызывающим абонентом и ему нужно иметь функцию, применяемую для изменения всего содержимого на новое значение. Например, способ Collections.sort(list)
изменяет список на месте.
Как проще всего передать эту функцию преобразования и этот начальный список применить эту функцию ко всем значениям в исходном списке без создания нового списка?
String function(String s){
return s.toUppercase(); // or something else more complex
}
List<String> list = Arrays.asList("Bob", "Steve", "Jim", "Arbby");
Обычный способ применения изменения ко всем значениям на месте был следующим:
for (int i = 0; i < list.size(); i++) {
list.set(i, function( list.get(i) );
}
Предлагаются ли lambdas и Java 8:
- более простой и выразительный способ?
- способ сделать это, не настраивая все леса цикла
for(..)
?