跳号查询实现

本文详细介绍了如何在Java中实现跳号查询,这是一种提高数据检索效率的方法。通过跳过一定的数据记录,快速定位到目标数据,减少了不必要的IO操作,尤其适用于大数据量的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 	/**
     * 查找跳号 第一种方法只适合间隔一位跳号
     */
    @Test
    public void jumpNoQry() {

        //查询序列号
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.select("no");
        List<User> users = userMapper.selectList(wrapper);
        ArrayList<Integer> list = new ArrayList<>();
        for (User user : users) {
            list.add(user.getNo());
        }
        //排序
        Collections.sort(list);
        //存放跳号集合
        Integer m = 0;
        ArrayList<Integer> JumpNo = new ArrayList<>();
        for (int i = 1; i < list.size(); i++) {
            if (list.get(i) - list.get(i - 1) == 2) {
                m = list.get(i) - 1;
                JumpNo.add(m);
            }
        }
        System.out.println(JumpNo);
    }
 	/**
     * 跳号查询(通用)
     */
    @Test
    public void Jumpno() {

        //模拟前端传值
        int a = -10;
        int b = 10;

        List<Integer> list = new ArrayList<>();
        for (int i = a; i <= b; i++) {
            list.add(i);
        }
        //模拟数据库数据
        List<Integer> DbNo = new ArrayList<>();
        DbNo.add(1);
        DbNo.add(4);
        DbNo.add(5);
        DbNo.add(6);
        DbNo.add(7);
        DbNo.add(8);

        ArrayList<String> JumpNo = new ArrayList<>();

        for (Integer o : list) {
            if (!DbNo.contains(o)){
                String c = "11";
                JumpNo.add(o+c);
        }

    }
        System.out.println(JumpNo);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值