java集合截取的方法

  有时候,可能需要按照一定个数,截取大集合。
  比如在做批量导入数据时,将一个大集合直接导入,相对来说,将其截成一个个的小集合反而更加效率。那就需要集合截取的方法,如下:

public class ListUtils<T> {
    public static<T> List<List<T>> batchList(List<T> sourceList, int batchCount) {
        List<List<T>> returnList = new ArrayList<>();
        int startIndex = 0; // 从第0个下标开始
        while (startIndex < sourceList.size()) {
            int endIndex = 0;
            if (sourceList.size() - batchCount < startIndex) {
                endIndex = sourceList.size();
            } else {
                endIndex = startIndex + batchCount;
            }
            returnList.add(sourceList.subList(startIndex, endIndex));
            startIndex = startIndex + batchCount; // 下一批
        }
        return returnList;
    }
}

  上边的类使用的方法比较简单,如下:

 /**
     * 批量导入
     * @param tdtgList
     */
    @Override
    public void addBatch(List<Tdtg> tdtgList) throws Exception {
        //即,将其按照每100条截取的方式,再循环批量导入到数据库中
        List<List<Tdtg>> resultList = ListUtils.batchList(tdtgList,100);
        for(List<Tdtg> xxptFileQzbs:resultList){
            tdtgMapper.insertBatch(xxptFileQzbs);
        }
    }
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: Java中可以使用String类的replaceAll()方法截取多个相同的字符串。该方法的第一个参数是要被替换的字符串,第二个参数是替换成的字符串。例如: ``` String str = "Hello World, Hello Java"; str = str.replaceAll("Hello", ""); System.out.println(str); ``` 输出结果为:" World, Java",可以看出,所有的"Hello"都被替换成了空字符串。 ### 回答2: 在Java中,可以使用字符串的`substring`方法截取多个相同的字符串。 `substring`方法用于截取指定索引范围内的子字符串。如果要截取多个相同的字符串,可以使用循环结构和条件语句来实现。具体步骤如下: 1. 首先,定义一个源字符串,即需要进行截取的字符串。 2. 定义一个目标字符串,用于存储截取后的子字符串。 3. 使用循环结构遍历源字符串,通过条件语句判断是否满足截取条件。 4. 如果满足截取条件,则使用`substring`方法截取相应的子字符串,并将其添加到目标字符串中。 5. 继续循环直到遍历完整个源字符串。 6. 最后,输出目标字符串,即截取后的多个相同字符串。 下面是一个简单的示例代码: ```java public class SubstringExample { public static void main(String[] args) { String source = "abcbdabcbde"; // 源字符串 String target = ""; // 目标字符串,用于存储截取后的子字符串 int startIndex = 0; // 子字符串的起始索引 int endIndex = source.indexOf("bc"); // 子字符串的结束索引 while (endIndex >= 0) { String subString = source.substring(startIndex, endIndex); // 截取子字符串 target += subString; // 将子字符串添加到目标字符串中 startIndex = endIndex + 2; // 更新子字符串的起始索引 endIndex = source.indexOf("bc", startIndex); // 更新子字符串的结束索引 } System.out.println(target); // 输出截取后的多个相同字符串 } } ``` 在上述示例中,源字符串为`abcbdabcbde`,要截取的子字符串是`bc`。通过循环结构和条件语句,截取了3个相同的子字符串,并存储在目标字符串中。输出结果为`adade`。 ### 回答3: 要截取多个相同的字符串,可以使用Java提供的字符串截取方法。具体步骤如下: 1. 首先,定义一个字符串变量,用于存储待截取的字符串。 2. 使用Java的substring方法,指定开始和结束索引对字符串进行截取。开始索引表示截取的起始位置,结束索引表示截取的结束位置的下一个位置。 3. 将截取得到的子字符串存储到一个新的变量中,作为截取结果。 4. 可以使用循环或其他方式多次截取相同的字符串,每次都将截取结果放入一个集合数组中。 下面是一个示例代码,演示如何截取多个相同的字符串: ```java public class SubstringExample { public static void main(String[] args) { String str = "Hello,Java,Java,Java"; // 定义一个存储截取结果的集合 List<String> results = new ArrayList<>(); // 定义开始和结束索引 int startIndex = 0; int endIndex; // 循环截取字符串 while (startIndex < str.length()) { // 查找下一个相同字符串的结束索引 endIndex = str.indexOf("Java", startIndex); if (endIndex < 0) { break; } // 截取相同字符串,并将结果加入集合 String result = str.substring(startIndex, endIndex); results.add(result); // 更新开始索引 startIndex = endIndex + "Java".length(); } // 输出截取结果 for (String result : results) { System.out.println(result); } } } ``` 以上代码将从给定字符串中截取多个相同的字符串"Java",并将结果存储到集合中,最后输出截取结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

茁壮成长的凌大大

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值