關于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("切分后的數(shù)組,index【0】:"+partition.get(0));
System.out.println("切分后的數(shù)組,index【1】:"+partition.get(1));
System.out.println("切分后的數(shù)組,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("切分后的數(shù)組,index【0】:"+partition.get(0));
System.out.println("切分后的數(shù)組,index【1】:"+partition.get(1));
System.out.println("切分后的數(shù)組,index【2】:"+partition.get(2));
targetList.clear();
System.out.println("原集合大小"+targetList.size());
System.out.println("分組后集合大小"+partition.size());
}
- 結果

總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringBoot整合Elasticsearch并實現(xiàn)CRUD操作
這篇文章主要介紹了SpringBoot整合Elasticsearch并實現(xiàn)CRUD操作,需要的朋友可以參考下2018-03-03
springboot?jpa?實現(xiàn)返回結果自定義查詢
這篇文章主要介紹了springboot?jpa?實現(xiàn)返回結果自定義查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02

