簡體   English   中英

如何使用1d數組填充2d數組?

[英]How to Fill a 2d array with a 1d array?

我正在嘗試用java在2d數組中放置一維數組。 使用我調用的方法,我將傳遞我將從中收集數據的列表以及我想要傳遞信息的2d數組。 在創建了一組字符串之后,我將句子解剖為2,將字符放入shingleSet中。 從shingleSet我必須將字符串轉換為數組,對數據進行排序,然后將排序后的數組保存到2d數組中。 我遇到的問題是我可以加載數組,但我只能在本地加載它。 我是否必須從方法中返回一個二維數組?

private static void sentenceToShingles(int n, String[][] stringArray, List list){
    int i, j;
    String e;
    String [] newShingle;
    int counter = 0;
    stringArray = new String [n][];
    for(Object o: list){
        //for every sentence create a new hashset
        Set<String> shingleSet = new HashSet();
        e = (String) o;
        i=0;
        while((i+2) < e.length()){
            for(j=0;j<2;j++){
               shingleSet.add(e.substring(i, i+2));  
            } 
            i++;      
        }    

        //add to array and sort ?RETURNING?
        newShingle = shingleSet.toArray(new String[shingleSet.size()]);
        Arrays.sort(newShingle);

        //?? How can I save newShingle into 2d array??

        //print shingle sorted shingle array
        for(j=0; j<newShingle.length; j++){
            System.out.print(newShingle[j] + " ");
        } 
       System.out.println();
    }        
    System.out.println();              
}

要從方法返回數組,請將方法簽名從private static void更改為private static String[][]在代碼末尾添加一個return語句: return stringArray;

更新

要填充2D數組,您需要遍歷每一行和每列:

for(int row = 0; row < targetArray.length; row++) {
    for(int col = 0; col < targetArray[row].length; col++) {
        targetArray[row][col] = sourceArray[row];
    }
}

暫無
暫無

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

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