Java/Android C# linq 的最佳等价物

标签 java c# android linq

<分区>

让我们看看这个示例 C# 代码:

List<int> numbers = new List<int>() { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
int numCount = numbers.Where(n => n < 3 || n > 7).Count();

我对 Java 中最接近的等价物很感兴趣,显然不需要编写花哨的 for/foreach 循环来迭代集合。

据我所知,在 Java 中没有确切的 linq equivalnet,但是我仍然是 Java 编程的初学者,所以您能为我推荐什么吗?我实际上正在寻找最紧凑和优雅的方式来在 Java 中实现相同的结果

[添加] 所以,感谢所有回复。但是,我需要在 Android 上使用它,但似乎我不能。有什么解决办法吗?

(抱歉,这是重复的)

[添加] 有人试过这个吗? http://sourceforge.net/projects/streamsupport/

最佳答案

在 Java8 中:

Arrays.stream(numbers).filter(n -> n < 3 || n > 7).count();

为了响应您对 android 的要求,请查看 lambdaj:https://code.google.com/p/lambdaj/它与 android 兼容 - 尽管语法不同。您必须查看文档,因为我从未使用过它。您也可以查看 https://github.com/wagnerandrade/coollection

关于Java/Android C# linq 的最佳等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32646297/

相关文章:

java - 如何处理像 android.content.res.Resources$NotFoundException : String resource ID #0x0 这样的错误

java - 我应该使用哪种设计模式来通知更改? Java/Kotlin 安卓

java - 启动 GoldFish 服务器时出错 : Ubuntu 13. 10

c# - MVC + 我如何在 Controller 操作之前提醒提示用户

c# - 避免在泛型方法中进行过多的类型检查?

android - org.gradle.api.tasks.TaskExecutionException:任务 ':app:compileDebugJavaWithJavac'的执行失败

java - 这个递归函数有什么作用?

java - GoogleAppEngine 上的 JDO : How to efficiently retrieve a subset of fields from a huge number of records

java - 在Jetty服务器中如何获取需要客户端认证时使用的客户端证书?

c# - 如何修复错误 "Could not load file or assembly ' System.Text.Json, ...”?