L'API Google Collections ha un equivalente del metodo Ruby Enumerable#inject?
-
22-09-2019 - |
Domanda
Ho letto il javadoc e non sono riuscito a trovare nulla che gli assomigli.
Soluzione
No, non è così.
Anche se ha alcuni elementi di programmazione funzionale (predicato, funzione), quelle erano per supportare le esigenze specifiche e il suo obiettivo principale non è l'aggiunta di elementi di programmazione funzionale per Java (visto che è terribilmente verboso attualmente). Vedere questo problema per un po 'su questo.
Altri suggerimenti
Penso che tu non abbia un metodo di iniezione esatto..ma è possibile ottenere una soluzione simile utilizzando i metodi transformValues forniti
Maps.transformValues(Map<K,V1> fromMap, Function<? super V1,V2> function)
List.transform(List<F> fromList, Function<? super F,? extends T> function)
Ovviamente avrai bisogno di un Function
classe definita ad hoc per lavorare con il parametro passato dell'inject:
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;
}
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow