uniqueList是一条list数据,它有多条数据,每条数据都有一个叫username的字段,我现在想输入一个名称然后这个字段根据名称来模糊查询,用Java该如何实现呢?
时间: 2024-03-27 08:39:51 浏览: 25
您可以使用Java 8中的Stream API来实现这个功能。具体实现步骤如下:
1. 首先,将uniqueList转化为一个Stream对象。可以使用`stream()`方法来实现:
```java
Stream<User> stream = uniqueList.stream();
```
其中,`User`是你的每个数据的类型。
2. 然后,在Stream对象上使用`filter()`方法进行筛选。可以使用`Predicate`接口来实现模糊查询:
```java
String name = "your_name";
Predicate<User> filterByName = user -> user.getUsername().contains(name);
Stream<User> filteredStream = stream.filter(filterByName);
```
其中,`getUsername()`方法是你的每个数据的获取username字段的方法。`contains()`方法是用来进行模糊查询的方法。
3. 最后,将筛选后的结果转化为一个List对象:
```java
List<User> filteredList = filteredStream.collect(Collectors.toList());
```
其中,`Collectors.toList()`方法是用来将Stream对象转化为List对象的。
这样,你就可以得到一个根据名称进行模糊查询的List对象了。
阅读全文