关于Lists.partition集合分组使用以及注意事项

 更新时间:2024年01月04日 15:29:17   作者:liuhuapeng0304  
这篇文章主要介绍了关于Lists.partition集合分组使用以及注意事项,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1.介绍

Lists.partition是com.google.common.collect包下的一个方法。

作用是将目标集合按照传入的size分组。

2.使用场景

一般用于固定大小的集合处理

比如:

我有两百个商品类型,要求前一百个一种处理方式,后一百个一种处理方式。

3.用法

  • pom文件
<dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>21.0</version>
    </dependency>
  • 测试方法
 public static void main(String[] args) {
 		//需要进行分组的集合
        List<Integer> targetList = new ArrayList<>();
        targetList.add(1);
        targetList.add(2);
        targetList.add(3);
        targetList.add(4);
        targetList.add(5);
        targetList.add(6);
        //集合分组。2代表 每两个分成一组。已知集合size=6,两个一组即分为三组
        List<List<Integer>> partition = Lists.partition(targetList, 2);
        System.out.println("切分后的数组,index【0】:"+partition.get(0));
        System.out.println("切分后的数组,index【1】:"+partition.get(1));
        System.out.println("切分后的数组,index【2】:"+partition.get(2));

    }
  • 结果

注意:

如果对也就是对子集合的操作会反映到原集合, 对原集合的操作也会影响子集合。

  • 测试方法
public static void main(String[] args) {
        List<Integer> targetList = new ArrayList<>();
        targetList.add(1);
        targetList.add(2);
        targetList.add(3);
        targetList.add(4);
        targetList.add(5);
        targetList.add(6);
        List<List<Integer>> partition = Lists.partition(targetList, 2);
        System.out.println("切分后的数组,index【0】:"+partition.get(0));
        System.out.println("切分后的数组,index【1】:"+partition.get(1));
        System.out.println("切分后的数组,index【2】:"+partition.get(2));
        targetList.clear();
        System.out.println("原集合大小"+targetList.size());
        System.out.println("分组后集合大小"+partition.size());


    }
  • 结果

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java 遍历Map的几种方法总结

    java 遍历Map的几种方法总结

    这篇文章主要介绍了java 遍历Map的四种方法,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-10-10
  • Mybatis-plus全局id生成策略详解

    Mybatis-plus全局id生成策略详解

    这篇文章主要介绍了Mybatis-plus全局id生成策略详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • SpringBoot使用JDBC获取相关的数据方法

    SpringBoot使用JDBC获取相关的数据方法

    这篇文章主要介绍了SpringBoot使用JDBC获取相关的数据方法,JDBC与数据库建立连接、发送 操作数据库的语句并处理结果,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • 基于SpringBoot项目遇到的坑--Date入参问题

    基于SpringBoot项目遇到的坑--Date入参问题

    这篇文章主要介绍了SpringBoot项目遇到的坑--Date入参问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • springboot+VUE前后端分离实现疫情防疫平台JAVA

    springboot+VUE前后端分离实现疫情防疫平台JAVA

    本文主要使用了Java、springmvc、VUE、node.js、mybatis、mysql、tomcat、jquery、layui、bootstarp、JavaScript、html、css、jsp、log4j等一些常见的基本技术,实现一个疫情防疫小平台
    2021-08-08
  • Java数据库连接池c3p0过程解析

    Java数据库连接池c3p0过程解析

    这篇文章主要介绍了Java数据库连接池c3p0过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Java实现Floyd算法求最短路径

    Java实现Floyd算法求最短路径

    这篇文章主要为大家详细介绍了Java实现Floyd算法求最短路径,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • java日期操作工具类(获取指定日期、日期转换、相隔天数)

    java日期操作工具类(获取指定日期、日期转换、相隔天数)

    这篇文章主要为大家详细介绍了java日期操作工具类,包括获取指定日期、日期转换、相隔天数等操作,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • Java中HttpServletRequestWrapper的使用与原理详解

    Java中HttpServletRequestWrapper的使用与原理详解

    这篇文章主要介绍了Java中HttpServletRequestWrapper的使用与原理详解,HttpServletRequestWrapper 实现了 HttpServletRequest 接口,可以让开发人员很方便的改造发送给 Servlet 的请求,需要的朋友可以参考下
    2024-01-01
  • JavaGUI界面实现页面跳转方法

    JavaGUI界面实现页面跳转方法

    这篇文章主要给大家介绍了关于JavaGUI界面实现页面跳转的相关资料, GUI是指图形用户界面,指采用图形方式显示的计算机操作用户界面,需要的朋友可以参考下
    2023-07-07

最新评论