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异常
2,你没给大家帮助你提供环境,请将这许多代码放到java code里.
找这个自己解决比较好 别人找 看看代码好长啊...有点晕。
int k = 0;
for (ArrayList<Integer> l1 : l) {
k++;
}
int[] j = new int[k]; //你以前是k-1,把-1去掉,本来都声明k=0了还减1干嘛? k = 0;
for (ArrayList<Integer> l1 : l) {
for (Integer obj : l1) {
j[k] += 1;
}
k++;
}
//
int[][] result = new int[k][]; //同理
k = 0;
for (ArrayList<Integer> l1 : l) {
result[k] = new int[j[k]]; //同理
int i = 0;
for (Integer obj : l1) {
result[k][i] = obj;
i++;
}
k++;
}
return result;
}