Java 从列表中查找具有匹配字符串的项目

Java 从列表中查找具有匹配字符串的项目,java,Java,我有一个Java类: class GlobalUsers { String name = "" String ID = "" ................ ................ } 现在在另一个函数中: List<GlobalUsers> guObjs = new List<GlobalUsers>(); 如何以最简单的方式执行此操作?使用Streams API: guObjs.stream().filter(u -&g

我有一个Java类:

class GlobalUsers {

   String name = ""
   String ID = ""
   ................
   ................
}
现在在另一个函数中:

List<GlobalUsers> guObjs = new List<GlobalUsers>();
如何以最简单的方式执行此操作?

使用Streams API:

   guObjs.stream().filter(u -> "User_CUSTOM".equals(u.name)).collect(Collectors.toList());

Filter完全按照您的要求执行,获取一个检查输入值是否正确的函数(在您的情况下,如果名称与请求的“User\u CUSTOM”匹配)value.Collect获取所有匹配结果并将其放回列表中。

您是否为
GlobalUsers
实现了
equals
?没有。我是Java新手,所以对此不太了解。好的,所以您需要阅读Java中对象的相等性;然后阅读
比较器
接口的使用;然后再看看RTIN集合,因此您可以使用
集合中的二进制搜索功能class@kolossus这不是排序问题,而是查找匹配项的问题,Compariable与此无关。此外,排序是O(NlogN),而查找匹配项是O(N)。如果@Zielu
   guObjs.stream().filter(u -> "User_CUSTOM".equals(u.name)).collect(Collectors.toList());