public static void main(String[] args) { Object[][] obj = new Object[4][5]; ArrayList list = new ArrayList(); for (int i = 0; i < 20; i++) { list.add(i); } int index=0; for (int i = 0; i < 4; i++) { for (int j =0; j <5; j++) { obj[i][j] = (Object) list.get(index); index++; } } for (int i = 0; i < 4; i++) { for (int j =0; j <5; j++) { System.out.print( obj[i][j]+" " ); } System.out.println(""); }
其中Object[][]的格式有要求,是Object[row][4]即:二维数组的列数是固定的,要求为4列,行数是不动态的,根据List的长度list.size()而定.row已经实现:
getRow(int size){
int row = 1;
if(size>0){
if(size%4=0 &&size/4>1){
row = size/4;
}else if(size%4 !=0){
row = (size/4)+1;
}else if(size/4==0){
row = 1;
}
}else {
row = 1;
}
}
for(int i=0;i<row;i++){
for(int j=0;j<4;j++){
Iterator iterator = list.iterator();
while(iterator.hasNext()){
obj[i][j] = iterator.next();
}
}
}
Object[][] obj = new Object[4][5];
ArrayList list = new ArrayList();
for (int i = 0; i < 20; i++) {
list.add(i);
}
int index=0;
for (int i = 0; i < 4; i++) {
for (int j =0; j <5; j++) {
obj[i][j] = (Object) list.get(index);
index++;
}
}
for (int i = 0; i < 4; i++) {
for (int j =0; j <5; j++) {
System.out.print( obj[i][j]+" " );
}
System.out.println(""); }
也谢谢hhtwya()!
您的这段
while(iterator.hasNext()){
obj[i][j] = iterator.next();
}
放在循环的最里面,最终Object将得到全部一样的值,且执行完了之后obj[][]内全都是iterator的最后一个值!
呵呵,但是都非常谢谢!因为各种不同的方法让我们对同一个问题理解的更深刻!
谢谢godfather521()!
真实麻烦你们了!