当前位置:   article > 正文

list模糊查询工具类_java list 模糊查询

java list 模糊查询

list模糊查询工具

  1. import java.util.LinkedList;
  2. import java.util.List;
  3. import java.util.Optional;
  4. import java.util.function.Function;
  5. import java.util.regex.Matcher;
  6. import java.util.regex.Pattern;
  7. /**
  8. * @author
  9. * @description: list模糊查询工具类
  10. * @date :2023/6/23 14:42
  11. */
  12. public class FilterUtil {
  13. /**
  14. * @method: listFilter
  15. * @Description: 模糊查找
  16. * @Author:
  17. * @date: 2023/6/23 14:42
  18. */
  19. public static <T> List<T> listFilter(boolean condition, String target, List<T> list, Function<T, ?> function) {
  20. List<T> result = null;
  21. if (condition) {
  22. result = listFilter(target, list, function);
  23. }
  24. // 不满足条件直接返回原数据集合
  25. return Optional.ofNullable(result).orElse(list);
  26. }
  27. public static <T> List<T> listFilter(String target, List<T> list, Function<T, ?> function) {
  28. List<T> result = new LinkedList<>();
  29. //该处决定大小写是否敏感
  30. Pattern pattern = Pattern.compile(target, Pattern.CASE_INSENSITIVE);
  31. for (T t : list) {
  32. Matcher matcher = pattern.matcher(function.apply(t).toString());
  33. if (matcher.find()) {
  34. result.add(t);
  35. }
  36. }
  37. return result;
  38. }
  39. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/1022325
推荐阅读
相关标签
  

闽ICP备14008679号