java 集合转换、查找、过滤、分割

将字符串集合转换为Integer集合

Lists.transform可以很方便将一个集合转换成另外一种类型的集合。

List<String> listStr = Lists.newArrayList("1", "2", "3"); //将字符串集合转换为Integer集合 List<Integer> listInteger = Lists.transform(listStr, new Function<String, Integer>() {

@Nullable

@Override

public Integer apply(@Nullable String s)

{ return Integer.valueOf(s); }

});

在Java 8中的实现为

List<Integer> listInteger2 = listStr.stream().map(Integer::valueOf).collect(Collectors.toList());

Iterables.find查找集合首个匹配的元素

List<String> listStr = Lists.newArrayList("hello", "world", "hehe");
//查找首个以h开头的值    
String value = Iterables.find(listStr, new Predicate<String>() {
    @Override
    public boolean apply(String input) {
        return input.startsWith("h");
    }
});

在Java 8中的实现为

 String value2 = listStr.stream().findFirst().filter(input -> input.startsWith("h")).get();

Collections2.filter过滤集合中所有符合特定条件的元素。

   List<String> listWithH = Lists.newArrayList(Collections2.filter(listStr, new Predicate<String>() {
            @Override
            public boolean apply(@Nullable String s) {
                return s.startsWith("h");
            }
        }));

在Java 8中的实现为

List<String> listWithH2 = listStr.stream().filter(input -> input.startsWith("h")).collect(Collectors.toList());

Lists.partition可以将一个大的集合分割成小集合,适用于分批查询、插入等场景。

List listStr = Lists.newArrayList(“1”, “2”, “3”,“4”,“5”,“6”,“7”);

List<List<String>> batchList = Lists.partition(listStr,3);

//被分割成了: [[1, 2, 3], [4, 5, 6], [7]]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值