Я подхожу к некоторой функциональной Java с точки зрения ruby
в ruby, вы можете сделать что-то вроде этого
mapped_array = [1,2,3].map(&:to_s)
, что приводит к преобразованию (сопоставлению) массивавызывая функцию-член to_s для каждого объекта
mapped_array = []
[1,2,3].each { |e| mapped_array << e.to_s }
, я хотел бы сделать нечто подобное в Java, а именно преобразовать список Product-3 (fj.P3), вызвав метод _2 () длякаждый объект
List<P2<Integer, Double>> aListOfP2;
final List<Double> costs = transform(aListOfP2, Converters.<Integer, Double>second());
, поэтому мне пришлось где-то определить метод
public static final <A,B> Function<P2<A,B>,B> second() {
return new Function<P2<A, B>, B>() {
public B apply(final P2<A, B> from) {
return from._2();
}
};
};
, но затем, если я хочу получить первый элемент, это другой метод ... если я хочуполучить второй элемент из P3, это другой метод.
Вопрос в том ... Если в ruby не существует механизма, подобного таковому, какой самый общий способ сделать это?