簡體   English   中英

通過在Java中並行合並不相等大小的列表來創建Llist

[英]Creating a Llist by merging unequal size of list parellally in Java

我有n個整數列表。 我需要並行合並每個列表的項目,即每個列表的第0個位置的索引上的元素應創建一個新的列表。

如果所有List大小相等,我就能得到它。 但是,如果列表不相等,則拋出異常/現在可以正常工作。

請對此提出建議。

// here in lst we addedd all list.
    // size of lst = 30
        //sizeListForx= added index position of all list in lst 
    int total = 5;

    for (int k = 0; k < lst.size()/total; k++) {
        currentRecList = new ArrayList<String>();
        for(int n = 0; n < sizeListForx.size(); n++) {
            currentRecList.add(lst.get(k+n));
        }
        listForAll.add(currentRecList);
    }

首先,我在這里添加所有列表,並在此保留索引位置

謝謝

將所有列表添加到數組,然后通過該過程獲得最大列表大小。 然后,您必須做兩個嵌套的fors。 看看這個:

package tests;

import java.util.ArrayList;
import java.util.List;

public class Main {

    public static void main(String[] args) {
        List<Integer> list0 = new ArrayList<Integer>();
        list0.add(1);
        List<Integer> list1 = new ArrayList<Integer>();
        list1.add(1);
        list1.add(2);
        List<Integer>[] listArray = new ArrayList[2];
        listArray[0] = list0;
        listArray[1] = list1;
        int maxListSize = 2;

        List newList = new ArrayList();
        for (int i = 0; i < maxListSize; i++) {
            List innerList = new ArrayList<Integer>();
            for (int j = 0; j < listArray.length; j++) {
                if (listArray[j].size() > i) {
                    innerList.add(listArray[j].get(i));
                } else {
                    innerList.add(null);
                }
            }
            newList.add(innerList);
        }
        System.out.println(newList);

    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM