List分割|字符分割|集合分割

List分页工具类

平时开发中可能会遇到一批数据的批量查询,但是接口限制每次只能查10个,多了查询失败,这个时候就很烦,还的手动给这一批数据分页再去掉接口查询,这个时候就可以用到com.google.common.collect.Lists工具的com.google.common.collect.Lists#partition方法,这个方法可以帮我们自动拆分List,根据我们传入的分批大小,把大集合拆成多个小集合
好处:方便实用,不用手写

List<Long> userIdList = new ArrayList<>();
userIdList.add(1L);
userIdList.add(2L);
userIdList.add(3L);
userIdList.add(4L);
userIdList.add(5L);
userIdList.add(6L);
userIdList.add(7L);
userIdList.add(8L);
List<List<Long>> partition = Lists.partition(userIdList, 3);

可以把8个元素的userIdList通过Lists.partition拆分成3个元素一个的小集合,而且顺序不变

————————————————

分割符的字符串和集合互转

日常开发经常遇到这种:1,2,3,4,5,6这种逗号分割的,要把他转成List,或者把一个List转成根据逗号分割的字符串,自己写的话就只能split加循环,这个时候又可以用到谷歌工具包
好处:方便实用,不用手写
举个栗子:

import com.google.common.base.Joiner;
import com.google.common.base.Splitter;
import java.util.List;

public class CollectionUtil {

    /**
     * 把list的数据根据split拼接起来,自动过滤data中的null
     * 栗子:data:[1,3,4,6]  split:"."  return: "1.3.4.6"
     */
    public static String jointList(List data, String split){
        return Joiner.on(split).skipNulls().join(data);
    }

    /**
     * 把根据split分隔的字符串str变成List
     * 栗子:str:"1.3.5.7.9" split:"."   return:["1","3","5","7","9"]
     */
    public static List<String> splitIntoList(String str, String split){
        return Splitter.on(split).omitEmptyStrings().splitToList(str);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值