2016-07-16 74 views
4

從矩陣值我有這個矩陣得到:如何使用ArrayList的JAVA

A B C D E 
0 0 0 1 0 -> index 0 in arrList 
0 0 1 1 0 -> index 1 in arrList 
0 0 1 0 0 -> index 2 in arrList 
1 0 1 0 0 -> index 3 in arrList 

所以在ArrayList中arrList包含:[0,0,0,1,0],[0,0,1 ,1,0],[0,0,1,0,0],[1,0,1,0,0]]

如何獲取列A,B,C,D中的值和JAVA arrList中的E來獲取輸出示例?

Example output: 
A: [0,0,0,1] 
B: [0,0,0,0] 
C: [0,1,1,1] 
D: [1,1,0,0] 
E: [0,0,0,0] 

請幫忙。謝謝。

回答

0
for(int row = 0; row < 4; row++){ 
    for(int col = 0; col < 5; col++){ 
     System.out.print(arrList[col][row]); 
    } 
    System.out.println(); 
} 

這會給你你需要的輸出。

P.S .:在代碼中進行編輯以獲得您想要的格式的輸出。

0

如果這是陣列的ArrayList使用:

for(int i=0;i<arrList.size();i++) 
{ 
    for(int j=0;j<arrList.get(i).length;j++) 
    { 
     System.out.print(arrList.get(i)[j]+" "); 
    } 
    System.out.printlm("");//To skip line 
} 

如果你的意思陣列使用數組:

for(int i=0;i<arrList.length;i++) 
{ 
    for(int j=0;j<arrList[i].length;j++) 
    { 
     System.out.print(arrList[i][j]+" "); 
    } 
    System.out.println("");//To skip line 
} 
0
for(List<Integer> row : arrList) { 
    for(int col : row) { 
     System.out.print(col + " "); 
    } 
    System.out.println(); 
} 

希望這適用於你。你也可以做一些映射爲了有A,B,C和添加aditional格式。

乾杯。

1

花式的Java 8解決方案

import java.util.List; 
import java.util.stream.IntStream; 

import static java.lang.System.lineSeparator; 
import static java.util.Arrays.asList; 
import static java.util.stream.Collectors.joining; 

public class Example { 
    public static void main(String[] args) { 
     List<List<Integer>> matrix = asList(
       asList(0, 0, 0, 1), 
       asList(0, 0, 0, 0), 
       asList(0, 1, 1, 1), 
       asList(1, 1, 0, 0), 
       asList(0, 0, 0, 0) 
     ); 
     System.out.println("Example output:"); 
     System.out.println(IntStream.range(0, matrix.size()) 
       .mapToObj(i -> (char) ('A' + i) + ": [" + matrix.get(i) 
         .stream() 
         .map(String::valueOf) 
         .collect(joining(", ")) 
         + "]" 
       ) 
       .collect(joining(lineSeparator()))); 
    } 
} 

輸出

Example output: 
A: [0, 0, 0, 1] 
B: [0, 0, 0, 0] 
C: [0, 1, 1, 1] 
D: [1, 1, 0, 0] 
E: [0, 0, 0, 0] 

作爲一個大的班輪,因爲爲什麼不

System.out.println(((Function<List<List<Integer>>, String>) (matrix -> "Example output: " + lineSeparator() + range(0, matrix.size()).mapToObj(i -> (char) ('A' + i) + ": [" + matrix.get(i).stream().map(String::valueOf).collect(joining(", ")) + "]").collect(joining(lineSeparator())))).apply(asList(asList(0, 0, 0, 1), asList(0, 0, 0, 0), asList(0, 1, 1, 1), asList(1, 1, 0, 0), asList(0, 0, 0, 0)))); 
// extra space for scroll 
+0

@mina_mz你有你的指數倒退。它應該是'System.out.print(arrList.get(i).get(j)' – michaelsnowden

+0

好的修復它。謝謝。 –