java实现有两个集合,其中集合1 {1111,2222,33333},集合2 {1,2},要求过滤出来集合1里不包含集合2中每个元素模糊查询后的数据
时间: 2024-10-24 10:12:08 浏览: 16
java中的数组和集合共2页.pdf.zip
在Java中,你可以使用`Stream` API以及`contains()`方法来实现这个需求。首先,你需要将字符串转换成可以进行模糊查询的可比较类型(比如Integer),然后对第一个集合进行过滤操作。这里是一个示例:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
List<String> collection1 = Arrays.asList("1111", "2222", "33333");
List<Integer> collection2 = Arrays.asList(1, 2);
// 将集合2的元素转换为整数
List<Integer> intCollection2 = collection2.stream().map(Integer::valueOf).collect(Collectors.toList());
// 使用filter方法和contains方法进行模糊查询(这里假设"模糊查询"是忽略大小写的等于)
List<String> filteredCollection1 = collection1.stream()
.filter(element -> !intCollection2.contains(element.charAt(0) - '0')) // 对每个元素的第一个字符进行检查
.collect(Collectors.toList());
System.out.println(filteredCollection1);
阅读全文