繁体   English   中英

Java 8字符串比较

[英]Java 8 String Comparison

我有两个字符串列表。 我想检查一个列表中的任何字符串在另一列表中是否可用。 使用了以下失败的方法。

请让我知道更好的方法

List<String> mylist = Arrays.asList(stringArray1);
List<String> items = Arrays.asList(stringArray2);

return mylist.stream().anyMatch(t->items.stream().anyMatch(t::contains));

如果要查找mylist任何元素是否在items中存在,则可以首先将items变成Set

Set<String> setOfItems = new HashSet<>(items);

然后,您可以简单地遍历mylist并检查setOfItems是否包含任何元素。

mylist.stream().anyMatch(setOfItems::contains);

这使您的O(n * k)问题降至O(n + k) ,其中nk分别是mylistitems的大小。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM