问题标签 [functional-java]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
754 浏览

java - 如何使用forAll检查数组中的所有字符串是否以大写字母开头?

如果我有一组名称,如何使用 forall (或其他功能)检查它们是否都以大写字母开头?

这是错误的,我还不太熟悉高阶函数,所以我可以使用一些帮助。

0 投票
1 回答
83 浏览

java - 寻求对Function的深入理解

下面显示的是一些使用 Java Streams 的示例代码。我的问题特别涉及Interface Function<T,R>which 接受 type 的输入T并返回 type 的东西R

显然groupingBy(Dish::getCalories)是满足collect(即Collector<? super T,A,R> collector)的预期方法签名要求

现在来到groupingsBy,它的签名要求如下:
static <T,K> Collector<T,?,Map<K,List<T>>> groupingBy(Function<? super T,? extends K> classifier)

我们传递给的方法引用groupingsByDish::getCalories

显然Dish::getCalories是满足签名要求Function<? super T,? extends K>(即它应该接受某个 T 的超类的输入并返回某个 K 的子类的结果)。

但是,该getCalories方法不接受任何参数,它返回一个字符串。

请帮助消除我的困惑。

0 投票
5 回答
1059 浏览

java - How to count vowels in Java through functional programming?

I need to count the number of vowels in a list of words in Functional Java. If I have this list:

My idea was to "delete" the vowels and then do a subtraction this way:

Is there a better way to do this?

0 投票
3 回答
279 浏览

java - 使用 Stream API 从 HashMap 创建 List,其中元素按特定顺序排列

我有一个HashMap<String, List<Appliance>>wherename::String对象中的字段Appliance用作键,并且每个值都是HashMap一个对象。每个列表都根据对象的字段“price::BigDecimal”按升序排序。我想创建一个, 使用, 并通过提取先存在于 中的每个列表的第一个元素,然后是第二个元素,等等。所以如果有这些内容:listApplianceApplianceArrayList<Appliance>Stream APIHashMapHashMapHashMap

我希望最终名单如下:

是否可以使用 Java 的 8 Stream API 以功能方式做到这一点?

这是我的代码。我想以声明的方式实现相同的结果。

0 投票
3 回答
135 浏览

java - Java 8 Lambdas flatmapping、groupingBy 和 mapping 以获取 T 和 List 的 Map

这是我到目前为止所拥有的:

我有一个快速搜索列表。快速搜索中的每个项目都有一个设施,如下所示:

在每个设施中,都有一个 FacilityCare 列表,如下所示:

最后,FacilityCare 具有 Care 属性,如下所示:

现在,想法是将 QuickSearch 列表转换为<Care, List<Correlative>>. 在上面的示例中,mapping() 函数中的代码是伪造的。FacilityCare 只有facilityID 而没有Facility 实体。我希望在 flatMapping 中作为参数的设施对象在 mapping() 函数中再次成为我的参数,如下所示:

其中“facility”与 flatMapping 中的对象相同。

有什么办法可以做到这一点?请让我知道是否需要进一步解释。

编辑: 这是一个没有充分利用收集器的解决方案。

0 投票
1 回答
69 浏览

circuit-breaker - 如何在断路器中添加重试和自定义恢复方法 - 功能性 java

我正在尝试在我的项目中添加一个弹性 4j 断路器。为此,如果调用失败并重试,我有一个自定义机制。如何更改这两个的执行顺序?有没有一种方法可以让我先执行我的自定义机制,如果也失败了,然后重试?