如何在java中查询类的列表
我有一个名为class1的类,有两个成员,member1和member2。我想基于member1查询class1的ArrayList。我们可以在C#中使用linq实现这一点,非常简单。我发现,在java中,我们可以使用类似于中建议的库:如何在java中查询类的列表,java,linq,list,Java,Linq,List,我有一个名为class1的类,有两个成员,member1和member2。我想基于member1查询class1的ArrayList。我们可以在C#中使用linq实现这一点,非常简单。我发现,在java中,我们可以使用类似于中建议的库: 但是我没有时间学习这个库,它的库中有很多jar文件,我不知道应该导入哪一个来使用我需要的功能。这似乎需要时间。有没有人能给我一个编程提示,一个可以用这个查询替换的等价程序。看来我不能跳出林克的框框思考。有没有办法不用这些类型的库来进行查询?LINQ可以做很多事
但是我没有时间学习这个库,它的库中有很多jar文件,我不知道应该导入哪一个来使用我需要的功能。这似乎需要时间。有没有人能给我一个编程提示,一个可以用这个查询替换的等价程序。看来我不能跳出林克的框框思考。有没有办法不用这些类型的库来进行查询?LINQ可以做很多事情,没有单一的替代方法。Java没有LINQ库,它是一个.NET的东西。您可以使用流和函数编程在Java 8中执行许多常见的LINQ操作,例如:
Class1[] arr = ...
List<Class1> filteredList = stream(arr).filter(e -> e.member1 == val).collect(toList());
Class1[]arr=。。。
List filteredList=stream(arr).filter(e->e.member1==val.collect(toList());
这将生成一个元素列表,其中member1
等于val
有关更多示例,我将参考此软件包:
如果Java 8不可用,那么您必须求助于使用simple for循环(或者下载一个库来为您执行此操作)。您正在寻找的是Java 8的一部分。但是如果您有Java 7或更低版本,最好的方法就是自己编写条件。Java.util.stream不在我的系统库中,我应该从某处下载并添加它吗?很抱歉,我找不到它的下载链接。你有哪个版本的Java?这是Java8。好的,我会检查一下。我最近安装了eclipse,这是我用java编写的第一个程序。我不确定。谢谢,这看起来与linq非常相似。我正在使用这个流,但我不需要导入java.util.stream。*在我的项目中,当我将鼠标悬停在stream()函数上时,它会显示java.util.collection.stream(),我希望确保我正确使用它。因为我的计划似乎要花很长时间才能完成。