利用代码对list进行模糊检索和匹配检索

// 模糊匹配

  public Response list(JSONObject paramJson) {
        try {
            JSONObject param = new JSONObject();
            param.put("pageSize", 10);
            param.put("pageNumber", 1);
            List<JSONObject> list = schedulers.list();
            // 增加模糊查询方法,检索定时任务数据 guoyunlong
            String jobName = paramJson.getString("jobName");
            List<JSONObject> arrayList = new ArrayList<>();
            Pattern pattern = Pattern.compile(jobName);
            for (int i = 0; i < list.size(); i++) {
                Matcher matcher = pattern.matcher(list.get(i).getString("name"));
                if (matcher.find()) {
                    arrayList.add(list.get(i));
                }
            }
            JSONObject jsonObject = PageUtil.buildPage(arrayList, arrayList.size(), param);
            // return ResponseSupport.SUCCESS().setResultData(schedulers.list());
            return ResponseSupport.SUCCESS().setResultData(jsonObject);
        } catch (Exception e) {
            LogUtil.error(e);
            return ResponseSupport.ERROR("查询失败:" + e.getMessage());
        }
    }

// 这是精确匹配

 public static void main(String[] args) {
        List<User> users = Collections.synchronizedList(new ArrayList<User>());
        User u1 = new User(1, "测试1", "1");
        User u2 = new User(2, "测试2", "22");
        User u3 = new User(3, "测试3, "33");
        User u4 = new User(4, "测试4", "42");
        User u5 = new User(5, "测试5", "25");
        users.add(u1);
        users.add(u2);
        users.add(u3);
        users.add(u4);
        users.add(u5);
        System.out.println("源数据...");
        users.forEach(System.out::println);
        System.out.println();

        System.out.println("匹配筛选...");
        Pattern pattern1 = Pattern.compile("测试1");
        Pattern pattern2 = Pattern.compile("测试2");
        List list = new ArrayList();
        for(int i=0;i<users.size();i++){
            Matcher matcher1 = pattern1.matcher(users.get(i).getName());
            Matcher matcher2 = pattern2.matcher(users.get(i).getId().toString());
            if(matcher1.matches() || matcher2.matches()){
                list.add(users.get(i));
            }
        }
        list.forEach(System.out::println); 
    }
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭优秀的笔记

你的支持就是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值