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),其中nk分别是mylistitems的大小。

以上是关于Java 8字符串比较的主要内容,如果未能解决你的问题,请参考以下文章

比较 C# 中的字符串片段并从集合中删除项目

片段(Java) | 机试题+算法思路+考点+代码解析 2023

java字符串格式转换成日期格式

Java如何快速构造JSON字符串

java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段

通过 Java 正则表达式提取 semver 版本字符串的片段