Java 8字符串比较
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 8字符串比较相关的知识,希望对你有一定的参考价值。
我有两个字符串列表。我想检查一个列表中的任何字符串是否在另一个列表中可用。使用下面的方法失败了。
请让我知道一个更好的方法
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)
,其中n
和k
分别是mylist
和items
的大小。
以上是关于Java 8字符串比较的主要内容,如果未能解决你的问题,请参考以下文章
片段(Java) | 机试题+算法思路+考点+代码解析 2023
java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段