Tag: lambda

В Scheme, как вы используете lambda для создания рекурсивной функции?

Я в classе Scheme, и мне было любопытно писать рекурсивную функцию без использования define. Основная проблема, конечно, в том, что вы не можете вызвать функцию внутри себя, если у нее нет имени. Я нашел этот пример: это факториальный генератор, использующий только lambda. ((lambda (x) (xx)) (lambda (fact-gen) (lambda (n) (if (zero? n) 1 (* n […]

Лямбда-выражение для соединения

public class CourseDetail { public CourseDetail(); public string CourseId { get; set; } public string CourseDescription { get; set; } public long CourseSer { get; set; } } public class RefUIDByCourse { public long CourseSer { get; set; } public double DeliveredDose{ get; set; } public double PlannedDose{ get; set; } public string RefUID { […]

Lambdas в classическом примере enums

Как многие из вас могут знать, есть classический пример enums Operation (с использованием стандартного интерфейса Java 8), а именно: enum Operation implements DoubleBinaryOperator { PLUS(“+”) { @Override public double applyAsDouble(final double left, final double right) { return left + right; } }, MINUS(“-“) { @Override public double applyAsDouble(final double left, final double right) { return […]

Использовать ссылку на метод с параметром

Я только начал изучать streamи Java и столкнулся с проблемой. Пожалуйста, взгляните на следующий пример. Это часть classа Node: private Map nodes; public Optional child(String name) { return Optional.ofNullable(nodes.get(name)); } private void findChildren(String name, List result) { child(name).ifPresent(result::add); nodes.values().stream() // .map(Node::findChildren(name, result)) // .forEach(Node::findChildren(name, result)) .forEach(node -> node.findChildren(name, result)); } Моей целью было вызвать #findChildren […]

Linq – максимальное значение для каждой группы

Как я могу использовать Linq для выбора Top value из каждой группы когда у меня есть сегмент кода, например: var teams = new Team[] { new Team{PlayerName=”Ricky”,TeamName=”Australia”, PlayerScore=234}, new Team{PlayerName=”Hussy”,TeamName=”Australia”, PlayerScore=134}, new Team{PlayerName=”Clark”,TeamName=”Australia”, PlayerScore=334}, new Team{PlayerName=”Sankakara”,TeamName=”SriLanka”, PlayerScore=34}, new Team{PlayerName=”Udana”,TeamName=”SriLanka”, PlayerScore=56}, new Team{PlayerName=”Jayasurya”,TeamName=”SriLanka”, PlayerScore=433}, new Team{PlayerName=”Flintop”,TeamName=”England”, PlayerScore=111}, new Team{PlayerName=”Hamirson”,TeamName=”England”, PlayerScore=13}, new Team{PlayerName=”Colingwood”,TeamName=”England”, PlayerScore=421} }; Желаемый результат […]

java.lang.NullPointerException выбрасывается с использованием ссылки на метод, но не lambda-выражения

Я заметил что-то странное относительно необработанных исключений, используя ссылку на метод Java 8. Это мой код, используя выражение () -> s.toLowerCase() : public class Test { public static void main(String[] args) { testNPE(null); } private static void testNPE(String s) { Thread t = new Thread(() -> s.toLowerCase()); // Thread t = new Thread(s::toLowerCase); t.setUncaughtExceptionHandler((t1, e) […]

Назначение третьего аргумента функции «уменьшить» в функциональном программировании Java 8

При каких обстоятельствах третий аргумент «уменьшить» вызван в streamах Java 8? Приведенный ниже код пытается пересечь список строк и складывать значения кодовых точек первого символа каждого из них. Значение, возвращаемое окончательной лямбдой, никогда не используется, и если вы вставляете println, это никогда не будет вызвано. Документация описывает это как «объединитель», но я не могу найти […]

FindAll vs Где метод расширения

Я просто хочу знать, будет ли «FindAll» быстрее, чем «Где» extentionMethod и почему? Пример : myList.FindAll(item=> item.category == 5); или myList.Where(item=> item.category == 5); Что лучше ?

Java lambdas в 20 раз медленнее анонимных classов

Я видел здесь много вопросов о производительности Java lambdas, но большинство из них похоже на то, что «Lambdas немного быстрее, но медленнее при использовании закрытий» или «Разминка против времени выполнения отличается» или другие подобные вещи. Тем не менее, я заметил здесь довольно странную вещь. Рассмотрим эту проблему с LeetCode : Учитывая набор неперекрывающихся интервалов, вставьте […]

Можно ли выразить «тип» lambda-выражения?

Размышляя о lambda-выражениях как «синтаксическом сахаре» для вызываемых объектов, может ли быть выражен неназванный базовый тип? Пример: struct gt { bool operator() (int l, int r) { return l > r; } } ; Теперь [](int l, int r) { return l > r; } [](int l, int r) { return l > r; } […]

Давайте будем гением компьютера.