Java List中的一个List选择选择移除方法

记录:

第一个参数:传入需要处理的List

第二个参数:需要处理的参数在List中的标识符

第三个参数:在需要处理的参数中的开始位置

第三个参数:在需要处理的参数中的个数

List<String> FieldsList3 = this.DeleteTmpFieldsList(FieldsList,"tmp0.",6,1);

方法体:

    private static List<String> DeleteTmpFieldsList(List<String> FieldsList,String tmptableName,Integer BeginIndex,Integer EndIndex) {
        
        Integer startIndex = 1;
        List<String> Fields = new ArrayList<>();
        Fields.addAll(FieldsList);
        List<String> FieldsListRemove = new ArrayList<>();
        try
       {
            for(String field : Fields)
            {
                System.out.println(field);
                
                if(field.toLowerCase().contains(tmptableName.toLowerCase())){
                    if(startIndex != BeginIndex){
                        //削除のデータ
                        FieldsListRemove.add(field);
                    }
                    startIndex++;
                    if(EndIndex >  0){
                        EndIndex = EndIndex - 1;
                        if(EndIndex > 0){
                            BeginIndex = BeginIndex + 1;
                        } 
                    }
                }
            } 
            Fields.removeAll(FieldsListRemove);
       }
       catch (Exception e)
       {
           e.printStackTrace();
           // TODO: handle exception
       }finally {
           
       }
           //Add ACE商品マスタ.更新フラグ
           return Fields;
       }