Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用arraylist JAVA从矩阵中获取值_Java_Matrix_Arraylist - Fatal编程技术网

如何使用arraylist JAVA从矩阵中获取值

如何使用arraylist JAVA从矩阵中获取值,java,matrix,arraylist,Java,Matrix,Arraylist,我有一个矩阵: 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

我有一个矩阵:

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]]

如何从JAVA中的arrList中获取列A、B、C、D和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]

请帮忙。谢谢。

如果这是阵列列表,请使用:

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
for(int row=0;row<4;row++){
for(int col=0;col<5;col++){
系统输出打印(arrList[col][row]);
}
System.out.println();
}
这将为您提供所需的输出

注意:在代码中进行编辑,以获得所需格式的输出。

for(列表行:arrList){
for(List<Integer> row : arrList) {
    for(int col : row) {
       System.out.print(col + " ");
    }
    System.out.println();
}
for(整数列:行){ 系统输出打印(列+“”); } System.out.println(); }
希望这对您有用。您还可以进行一些映射,以获得A、B、C,并添加传统格式

干杯。

精彩的Java 8解决方案

import java.util.List;
导入java.util.stream.IntStream;
导入静态java.lang.System.lineSeparator;
导入静态java.util.Arrays.asList;
导入静态java.util.stream.Collectors.joining;
公开课范例{
公共静态void main(字符串[]args){
列表矩阵=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(“示例输出:”);
System.out.println(IntStream.range(0,matrix.size())
.mapToObj(i->(char)('A'+i)+':[“+matrix.get(i)
.stream()
.map(字符串::valueOf)
.收款(加入(“,”)
+ "]"
)
.收集(连接(lineSeparator());
}
}
输出

示例输出:
答:[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(((函数)(矩阵->)示例输出:“+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,0,1),asList(0,0),asList(0,1,1),asList(0,1),asList)(1,1,0,0),asList(0,0,0,0));
//额外的滚动空间
System.out.println(arrList.get(1.get(4)+”);
System.out.println(arrList.get(i).get(j)+;

@mina_mz您的索引是向后的。它应该是
System.out.print(arrList.get(i).get(j)
列表索引是基于0的。您的第一个语句得到第二行的第五列,而您的第二个语句得到第(i+1)列的第(j+1)行是我这边的一个错误
for(int row = 0; row < 4; row++){
    for(int col = 0; col < 5; col++){
        System.out.print(arrList[col][row]);
    }
    System.out.println();
}
for(List<Integer> row : arrList) {
    for(int col : row) {
       System.out.print(col + " ");
    }
    System.out.println();
}