亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java把list分成多個list的方法示例

 更新時間:2024年11月07日 10:44:28   作者:只吹45°風(fēng)  
在編程中將大的list集合拆分為多個小集合可以提高處理效率,主要拆分方法包括等量拆分適用于均勻處理數(shù)據(jù)、?指定數(shù)量拆分按固定子集大小劃分、根據(jù)條件拆分按特定規(guī)則進行,這些方法有助于多線程異步處理,需要的朋友可以參考下

背景

開發(fā)中,有時候我么需要將一個list集合分割成多個小的list集合來處理,例如:將拆分的小集合利用多線程來異步處理,以此來提高效率。下面將對示例集合進行拆分:

第一種:等量拆分

    private List<List<String>> partition(List<String> originalList, int size) {
        List<List<String>> partition = new ArrayList<>();
        int totalSize = originalList.size();
        // 計算每個集合的大小,向上取整
        int groupSize = (totalSize / size) + 1;

        for (int i = 0; i < size; i++) {
            int start = i * groupSize;
            // 防止數(shù)組越界
            int end = Math.min(start + groupSize, totalSize);
            partition.add(new ArrayList<>(originalList.subList(start, end)));
        }
        return partition;
    }

第二種:指定數(shù)量進行拆分

    導(dǎo)入google的guava工具包
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
    </dependency>

    private List<List<String>> partition(List<String> originalList) {
        // 指定數(shù)量 -> 每1000個拆分成一個小集合
        List<List<String>> partition = Lists.partition(originalList, 1000);
        return partition;
    }

第三種:根據(jù)條件進行拆分

    private List<List<Integer>> partition() {
        List<Integer> numbers = Arrays.asList(10, 20, 30, 40, 50, 60, 70, 80, 90);
        List<List<Integer>> groups = new ArrayList<>();
        groups.add(new ArrayList<>()); // 小于等于50
        groups.add(new ArrayList<>()); // 大于50

        for (Integer number : numbers) {
            if (number <= 50) {
                groups.get(0).add(number);
            } else {
                groups.get(1).add(number);
            }
        }
        return groups;
    }

總結(jié) 

到此這篇關(guān)于Java把list分成多個list的文章就介紹到這了,更多相關(guān)Java把list分成多個list內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring中@ControllerAdvice注解的用法解析

    Spring中@ControllerAdvice注解的用法解析

    這篇文章主要介紹了Spring中@ControllerAdvice注解的用法解析,顧名思義,@ControllerAdvice就是@Controller 的增強版,@ControllerAdvice主要用來處理全局?jǐn)?shù)據(jù),一般搭配@ExceptionHandler、@ModelAttribute以及@InitBinder使用,需要的朋友可以參考下
    2023-10-10
  • Java 中的 Class.forName(類名) 使用及原理解析

    Java 中的 Class.forName(類名) 使用及原理解析

    Class.forName是Java中用于動態(tài)加載類的強大工具,廣泛應(yīng)用于數(shù)據(jù)庫驅(qū)動加載、反射機制和插件系統(tǒng)等場景,它通過ClassLoader加載類并執(zhí)行靜態(tài)初始化代碼,但在使用時需要注意類路徑、初始化副作用和類加載器的選擇等問題,感興趣的朋友一起看看吧
    2024-12-12
  • 如何使用java.security.SecureRandom安全生成隨機數(shù)和隨機字符串工具類

    如何使用java.security.SecureRandom安全生成隨機數(shù)和隨機字符串工具類

    這篇文章主要給大家介紹了關(guān)于如何使用java.security.SecureRandom安全生成隨機數(shù)和隨機字符串工具類的相關(guān)資料,SecureRandom擴展了Random類,并通過在java 8中添加的新方法得到了豐富,需要的朋友可以參考下
    2024-05-05
  • SpringBoot多數(shù)據(jù)源切換實現(xiàn)代碼(Mybaitis)

    SpringBoot多數(shù)據(jù)源切換實現(xiàn)代碼(Mybaitis)

    實際工作中我們會遇到springboot項目初始化啟動時候,不能指定具體連接哪個數(shù)據(jù)源的時候,不同的接口連接不同的數(shù)據(jù)源或者前端頁面指定連接某個數(shù)據(jù)源等等情況,就會遇到動態(tài)數(shù)據(jù)源切換的問題,需要的朋友可以參考下
    2022-04-04
  • 詳解Spring bean的注解注入之@Autowired的原理及使用

    詳解Spring bean的注解注入之@Autowired的原理及使用

    之前講過bean注入是什么,也使用了xml的配置文件進行bean注入,這也是Spring的最原始的注入方式(xml注入).本文主要講解的注解有以下幾個:@Autowired、 @Service、@Repository、@Controller 、@Component、@Bean、@Configuration、@Resource ,需要的朋友可以參考下
    2021-06-06
  • 使用Java實現(xiàn)對兩個秒級時間戳相加

    使用Java實現(xiàn)對兩個秒級時間戳相加

    在現(xiàn)代應(yīng)用程序開發(fā)中,時間戳的處理是一個常見需求,特別是當(dāng)我們需要對時間戳進行運算時,比如時間戳的相加操作,本文我們將探討如何使用Java對兩個秒級時間戳進行相加,并展示詳細(xì)的代碼示例和運行結(jié)果,需要的朋友可以參考下
    2024-08-08
  • Scala 操作Redis使用連接池工具類RedisUtil

    Scala 操作Redis使用連接池工具類RedisUtil

    這篇文章主要介紹了Scala 操作Redis使用連接池工具類RedisUtil,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • MyBatis多表關(guān)聯(lián)查詢的實現(xiàn)示例

    MyBatis多表關(guān)聯(lián)查詢的實現(xiàn)示例

    本文主要介紹了MyBatis多表關(guān)聯(lián)查詢的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Java8中的default方法詳解

    Java8中的default方法詳解

    這篇文章主要介紹了Java8中的default方法詳解,Java 8新增了default方法,它可以在接口添加新功能特性,而且還不影響接口的實現(xiàn)類,需要的朋友可以參考下
    2015-03-03
  • Java實現(xiàn)貪吃蛇游戲(1小時學(xué)會)

    Java實現(xiàn)貪吃蛇游戲(1小時學(xué)會)

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)貪吃蛇游戲,1小時學(xué)會貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05

最新評論