最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JAVA動態(tài)維度笛卡爾積輸出的實現(xiàn)

 更新時間:2024年02月18日 09:35:37   作者:118路司機  
本文主要介紹了JAVA動態(tài)維度笛卡爾積輸出的實現(xiàn),通過動態(tài)生成笛卡爾積,可以方便地處理多維數(shù)據(jù)集,提高數(shù)據(jù)處理效率,具有一定的參考價值,感興趣的可以了解一下

需求

有若干個數(shù)據(jù)序列,把這些數(shù)據(jù)序列的組合全部遍歷輸出,比如提供
[“A”, “B”, “C”],[“I”, “II”], [“1”, “2”, “3”, “4”] 三個序列,能夠輸出以下結果:

A-I-1
A-I-2
A-I-3
A-I-4

C-II-2
C-II-3
C-II-4

思路

如果是是固定維度,有幾個維度,for循環(huán)幾遍即可,但是如果是不定序列,則遍歷的時候需要指定前置維度和后置維度進行計算從而遍歷到所有的數(shù)據(jù)。

public void test() {
        // 定義數(shù)據(jù)
        List<List<String>> datList = new ArrayList<>();
        datList.add(List.of("A", "B", "C"));
        datList.add(List.of("I", "II"));
        datList.add(List.of("1", "2", "3", "4"));

        // 定義總行數(shù)
        int row = datList.stream().map(List::size).reduce((a, b) -> a * b).get();

        // 定義總列數(shù)
        int size = datList.size();

        // 定義數(shù)據(jù)矩陣
        Object[][] matrix = new Object[row][size];

        // 前置維度
        int prevDim = 1;

        // 遍歷所有維度數(shù)據(jù)
        for (int i = 0; i < datList.size(); i++) {

            // 當前數(shù)據(jù)
            List<String> currDat = datList.get(i);

            // 當前數(shù)據(jù)長度
            int currDatLen = currDat.size();

            // 當前維度
            int currDim = row / prevDim;

            // 后置維度
            int nextDim = currDim / currDatLen;

            // 根據(jù)前后維度進行矩陣填充
            for (int j = 0; j < currDatLen; j++) {
                Object data = currDat.get(j);
                for (int k = 0; k < prevDim; k++) {
                    for (int m = 0; m < nextDim; m++) {
                        matrix[currDim * k + nextDim * j + m][i] = data;
                    }
                }
            }
            prevDim = prevDim * currDatLen;
        }

        // 輸出結果
        for (int i = 0; i < matrix.length; i++) {
            System.out.println(String.join("-", Arrays.stream(matrix[i]).map(Object::toString).collect(Collectors.toList())));
        }
    }

輸出結果

A-I-1
A-I-2
A-I-3
A-I-4
A-II-1
A-II-2
A-II-3
A-II-4
B-I-1
B-I-2
B-I-3
B-I-4
B-II-1
B-II-2
B-II-3
B-II-4
C-I-1
C-I-2
C-I-3
C-I-4
C-II-1
C-II-2
C-II-3
C-II-4

 到此這篇關于JAVA動態(tài)維度笛卡爾積輸出的實現(xiàn)的文章就介紹到這了,更多相關JAVA動態(tài)笛卡爾積內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 淺談java Properties類的使用基礎

    淺談java Properties類的使用基礎

    下面小編就為大家分享一篇淺談java Properties類的使用基礎,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 利用Java如何獲取IP與機器名方法示例

    利用Java如何獲取IP與機器名方法示例

    在開發(fā)工作中,我們常常需要獲取客戶端的IP。下面這篇文章主要給大家介紹了關于利用Java如何獲取IP與機器名的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • Hibernate核心類和接口的詳細介紹

    Hibernate核心類和接口的詳細介紹

    今天小編就為大家分享一篇關于Hibernate核心類和接口的詳細介紹,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 詳解Spring Security的formLogin登錄認證模式

    詳解Spring Security的formLogin登錄認證模式

    對于一個完整的應用系統(tǒng),與登錄驗證相關的頁面都是高度定制化的,非常美觀而且提供多種登錄方式。這就需要Spring Security支持我們自己定制登錄頁面,也就是本文給大家介紹的formLogin模式登錄認證模式,感興趣的朋友跟隨小編一起看看吧
    2019-11-11
  • Mybatis集成Spring的實例代碼_動力節(jié)點Java 學院整理

    Mybatis集成Spring的實例代碼_動力節(jié)點Java 學院整理

    這篇文章主要介紹了Mybatis集成Spring的實例代碼,需要的朋友可以參考下
    2017-09-09
  • Java實現(xiàn)求小于n的質數(shù)的3種方法

    Java實現(xiàn)求小于n的質數(shù)的3種方法

    這篇文章主要介紹了Java實現(xiàn)求小于n的質數(shù)的3種方法,本文給出了根據(jù)定義去求解、平方根、找規(guī)律三種解法,需要的朋友可以參考下
    2015-03-03
  • 詳解Java去除json數(shù)據(jù)中的null空值問題

    詳解Java去除json數(shù)據(jù)中的null空值問題

    這篇文章主要介紹了詳解Java去除json數(shù)據(jù)中的null空值問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Java如何讀取配置文件并賦值靜態(tài)變量

    Java如何讀取配置文件并賦值靜態(tài)變量

    這篇文章主要介紹了Java如何讀取配置文件并賦值靜態(tài)變量,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • SpringBoot設置HTTP代理訪問

    SpringBoot設置HTTP代理訪問

    本文主要介紹了SpringBoot在私有服務器通過代理訪問公網(wǎng)的配置方法,涉及WebClient和RestTemplate兩種客戶端的代理設置,幫助實現(xiàn)跨服務器網(wǎng)絡請求
    2025-06-06
  • Java通過httpclient比較重定向和請求轉發(fā)

    Java通過httpclient比較重定向和請求轉發(fā)

    這篇文章主要介紹了Java通過httpclient比較重定向和請求轉發(fā),HttpClient?4.x?版本,get請求方法會自動進行重定向,而post請求方法不會自動進行重定向,需要的朋友可以參考下
    2023-04-04

最新評論

海盐县| 泰安市| 广灵县| 南漳县| 灵山县| 兰州市| 砚山县| 嘉荫县| 华安县| 尤溪县| 岢岚县| 阿巴嘎旗| 山西省| 英超| 文化| 筠连县| 新丰县| 沐川县| 饶阳县| 安塞县| 长宁区| 藁城市| 定西市| 全南县| 鞍山市| 浠水县| 阿拉尔市| 田阳县| 孟州市| 祁阳县| 大荔县| 永兴县| 五大连池市| 满洲里市| 阿坝| 绵竹市| 黔南| 桑日县| 寿阳县| 祁连县| 汉中市|