Есть ли в Google Collections API эквивалент метода Ruby Enumerable#inject?
-
22-09-2019 - |
Вопрос
Я прочитал Javadoc и не нашел ничего похожего на него.
Решение
Нет.
Несмотря на то, что в нем есть определенные элементы функционального программирования (предикат, функция), они должны были поддерживать определенные потребности, и его основная цель не в добавлении элементов функционального программирования для Java (учитывая, насколько он ужасно многословен в настоящее время).Видеть Эта проблема немного об этом.
Другие советы
Я думаю, что у вас нет точного метода инъекции..но вы можете получить аналогичное решение, используя предоставленные методы TransformValues.
Maps.transformValues(Map<K,V1> fromMap, Function<? super V1,V2> function)
List.transform(List<F> fromList, Function<? super F,? extends T> function)
Конечно, вам понадобится Function
класс, определенный специально для работы с переданным параметром инъекции:
class MyFunction<Type, Type>
{
static String variable;
Type apply(Type t)
{
//do whatever you want with t
// and storing intermediate result to variable
// return same t to make this function work like identity
return t;
}
}
Не связан с StackOverflow