IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 阿昌教你使用谷歌guava工具包---集合包 -> 正文阅读

[开发测试]阿昌教你使用谷歌guava工具包---集合包

前言

今天阿昌这里分享一个谷歌guava工具包,自己在工作业务中洋哥推荐的一个集合工具包的partition()方法,看了看这个工具包的方法并不是很多,主要常用也就是以下正文的3个方法

准备

走开始之前,我们肯定要先导入对于的Maven依赖

  • maven依赖
<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>25.1-jre</version>
</dependency>
  • 涉及到的方法

在这里插入图片描述


正文

阿昌这里主要分享一些最常用的方法

  • partition—将集合分块处理

    • 简单演示

      ArrayList<String> testList = Lists.newArrayList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15");
      Lists.partition(testList,5).forEach(item->{
        System.out.println(item);
        System.out.println("=========");
      });
      

在这里插入图片描述

  • 使用场景:可以去查询数据库的使用in的方式,来控制查询的次数

    List<Long> groupSysSkuIdList = new ArrayList<>();
    List<Object> resultList = new ArrayList<>();
    //将集合拆分以200个为单位,每个会执行下面forEach的逻辑
    Lists.partition(groupSysSkuIdList,200).forEach(item->{
      Example example = new Example();
      //构造查询器,类比MybatisPlus的查询构造器
      example.createCriteria().
        //这里每次用拆分后的idList,用in的方式拆开查询
        .andGroupSysSkuIdIn(groupSysSkuIdList);
      	//最后都加入到结果集合中
      resultList.addAll(xxxMapper.selectByExample(example));
    });
    

  • cartesianProduct—实现集合间笛卡尔积

    带有实例的笛卡尔积

    • 演示

      ArrayList<String> listA = Lists.newArrayList("1", "2");
      ArrayList<String> listB = Lists.newArrayList("3", "4");
      ArrayList<String> listC = Lists.newArrayList("5", "6");
      
      System.out.println(Lists.cartesianProduct(listA, listB,listC));
      

在这里插入图片描述


  • reverse—将元素位置反转
ArrayList<String> oldList = Lists.newArrayList("1", "2", "3");
System.out.println(oldList);
System.out.println(Lists.reverse(oldList));

在这里插入图片描述


结尾

以上是这次分享记录的所有内容,感谢您能看到这里!!!

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 13:28:06  更:2022-03-06 13:28:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:21:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码