一般来说,没有。您需要遍历该集合并检查每个对象,以查看该属性是否等于要搜索的值。这是一项
O(n)操作。
在一种情况下,您可以不重复进行操作。如果对象的
equals方法是根据该
String属性的相等性定义的,并且该
hashCode方法也已正确实现,则可以使用
hashSet.contains来及时找到具有正确值的对象,
O(1)而无需遍历集合。
正如我提到的,这是一个非常特定的用例,而不是一个通用的解决方案。如果字符串是某种唯一标识符,则可能会很有用,但不适用于您的特定用例。
您可能还需要考虑其他更适合您的用例的集合。例如,如果您使用的是Guava,则可以考虑使用Multimap。



