判断获取集合或者数组中的数字类型的元素是否连续

最近要修改excel导入错误提示功能,将原有的throw抛出换成一次性提示。方案很简单用list贯穿接受。

但是在excel导入时,若excel某行没有数据,有2两种情况,第一种是row为null,第2种是因键盘del键删除内容,造成的空字符串。

可判断row是否为null,或者判断Cell.CELL_TYPE_BLANK和cell.getCellType()是否相等即可。

将这些为空的放入一个新集合里。此时有一种情况,就是若excel最后一行为空字符串,poi读取时会读取到最后一行,上传的时候对于一个不懂业务的人来说,明明最后一行或者倒数好几行为空,为什么还提示,怎么过滤呢,切入正题。----判断获取集合或者数组中的数字类型的元素是否连续

网上也找了好多例子,感觉都是扯淡。没什么卵用。故自己写了 个,大家用的时候发现有问题还请留言。

public static List<Integer> getList(List<Integer>k) throw Exception{

List<Integer> ll= new ArrayList<Integer>();

//maxNum为最大值,可先将k集合排序获取最大值
         
                    boolean  xx=false;//是否连续标识,true不连续,false,连续
                    for (int j = 0; j < k.size(); j++) {
                        if(xx){
                            break ;
                        }
                        if(k.contains(maxNum-j)){
                            ll.add(maxNum-j);
                        }else{
                            xx=true;
                        }
                    }
                
                    if(ll.size()>0){
                        k.removeAll(ll);
                    }

return k;

}

若获取过滤最后几行为空的可调用此方法,若获取最后重复的几行或者连续的其他行或者是否连续可在此基础上修改

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页