import java.util.ArrayList;
public class ArrayAndList <E> {
public static void main(String[] args) {
int[][] b= {{1,2}, {2,3,4,5}};
ArrayList <ArrayList <Integer>> list = toList(b);
for(ArrayList <Integer> subList : list) {
for(Integer iObj : subList) {
System.out.println(iObj);
}
}
int[][] list1 = toArray(list);
for(int[] subList : list1) {
for(int i : subList) {
System.out.println(i);
}
}
}
public static ArrayList <ArrayList <Integer>> toList(int[][]a){
ArrayList <ArrayList <Integer>> l1=new ArrayList <ArrayList <Integer>>(); for(int[]b:a){
ArrayList <Integer> l2=new ArrayList <Integer>();
for(int c:b){
l2.add(c);
}
l1.add(l2); }
return l1;
}
public static int[][] toArray(ArrayList <ArrayList <Integer>> l){
int k=0;
for (ArrayList <Integer> l1:l){
k++;
}
int[]j=new int[k-1]; k=0;
for (ArrayList <Integer> l1:l){
for(Integer obj:l1){
j[k]+=1;
}
k++;
}
//
int[][] result=new int[k-1][];
k=0;
for (ArrayList <Integer> l1:l){
result[k]=new int[j[k]-1];
int i=0;
for(Integer obj:l1){
result[k][i]=obj;
i++;
}
k++;
}
return result;
} }
运行是抛出java.lang.ArrayIndexOutOfBoundsException异常
public class ArrayAndList <E> {
public static void main(String[] args) {
int[][] b= {{1,2}, {2,3,4,5}};
ArrayList <ArrayList <Integer>> list = toList(b);
for(ArrayList <Integer> subList : list) {
for(Integer iObj : subList) {
System.out.println(iObj);
}
}
int[][] list1 = toArray(list);
for(int[] subList : list1) {
for(int i : subList) {
System.out.println(i);
}
}
}
public static ArrayList <ArrayList <Integer>> toList(int[][]a){
ArrayList <ArrayList <Integer>> l1=new ArrayList <ArrayList <Integer>>(); for(int[]b:a){
ArrayList <Integer> l2=new ArrayList <Integer>();
for(int c:b){
l2.add(c);
}
l1.add(l2); }
return l1;
}
public static int[][] toArray(ArrayList <ArrayList <Integer>> l){
int k=0;
for (ArrayList <Integer> l1:l){
k++;
}
int[]j=new int[k-1]; k=0;
for (ArrayList <Integer> l1:l){
for(Integer obj:l1){
j[k]+=1;
}
k++;
}
//
int[][] result=new int[k-1][];
k=0;
for (ArrayList <Integer> l1:l){
result[k]=new int[j[k]-1];
int i=0;
for(Integer obj:l1){
result[k][i]=obj;
i++;
}
k++;
}
return result;
} }
运行是抛出java.lang.ArrayIndexOutOfBoundsException异常
import java.util.ArrayList;
public class ArrayAndList <E> {
public static void main(String[] args) {
int[][] b= {{1,2}, {2,3,4,5}};
ArrayList <ArrayList <Integer>> list = toList(b);
for(ArrayList <Integer> subList : list) {
for(Integer iObj : subList) {
System.out.println(iObj);
}
}
int[][] list1 = toArray(list);
for(int[] subList : list1) {
for(int i : subList) {
System.out.println(i);
}
}
}
public static ArrayList <ArrayList <Integer>> toList(int[][]a){
ArrayList <ArrayList <Integer>> l1=new ArrayList <ArrayList <Integer>>(); for(int[]b:a){
ArrayList <Integer> l2=new ArrayList <Integer>();
for(int c:b){
l2.add(c);
}
l1.add(l2); }
return l1;
}
public static int[][] toArray(ArrayList <ArrayList <Integer>> l){
int k=0;
for (ArrayList <Integer> l1:l){
k++;
}
int[]j=new int[k-1]; k=0;
for (ArrayList <Integer> l1:l){
for(Integer obj:l1){
j[k]+=1;
}
k++;
}
//
int[][] result=new int[k-1][];
k=0;
for (ArrayList <Integer> l1:l){
result[k]=new int[j[k]-1];
int i=0;
for(Integer obj:l1){
result[k][i]=obj;
i++;
}
k++;
}
return result;
} }
public class ArrayAndList <E> {
public static void main(String[] args) {
int[][] b= {{1,2}, {2,3,4,5}};
ArrayList <ArrayList <Integer>> list = toList(b);
for(ArrayList <Integer> subList : list) {
for(Integer iObj : subList) {
System.out.println(iObj);
}
}
int[][] list1 = toArray(list);
for(int[] subList : list1) {
for(int i : subList) {
System.out.println(i);
}
}
}
public static ArrayList <ArrayList <Integer>> toList(int[][]a){
ArrayList <ArrayList <Integer>> l1=new ArrayList <ArrayList <Integer>>(); for(int[]b:a){
ArrayList <Integer> l2=new ArrayList <Integer>();
for(int c:b){
l2.add(c);
}
l1.add(l2);
}
return l1;
}
public static int[][] toArray(ArrayList <ArrayList <Integer>> l){
int k=0;
for (ArrayList <Integer> l1:l){
k++;
}
int[]j=new int[k];
k=0;
for (ArrayList <Integer> l1:l){
for(Integer obj:l1){
j[k]+=1;
}
k++;
}
//
int[][] result=new int[k][]; //这里把int[k-1][]改成int[k][]
k=0;
for (ArrayList <Integer> l1:l){
result[k]=new int[j[k]]; //这里把int[j[k]-1]改成int[j[k]]
int i=0;
for(Integer obj:l1){
result[k][i]=obj;
i++;
}
k++;
}
return result;
} }
楼主你的l、l1变量名取得太猥琐了,呵呵。。都要看花了