日期:2014-05-20  浏览次数:20690 次

Vector与Object[][]的问题,急求啊!!!!(100分)
[[0101,   初始化,显示],   [010101,   预置信息,显示],   [010102,   基本属性维护,   显示]]
这样的Vector怎样转化为
Object[][]   p={{0101,   初始化,显示},{010101,   预置信息,显示},{010102,   基本属性维护,   显示}}
呢?

------解决方案--------------------
楼主说的这个意思?
import java.util.*;
public class Test26 {
public static void main(String[] args) {
Vector v1 = new Vector();
v1.add( "0101 ");
v1.add( "初始化 ");
v1.add( "显示 ");
Vector v2 = new Vector();
v2.add( "010101 ");
v2.add( "预置信息 ");
v2.add( "显示 ");
Vector v3 = new Vector();
v3.add( "010102 ");
v3.add( "基本属性维护 ");
v3.add( "显示 ");
Vector v = new Vector();
v.add(v1);
v.add(v2);
v.add(v3);
System.out.println(v);
Object[][] array = new Object[v.size()][];
for(int i=0; i <v.size(); i++) {
array[i] = ((Vector)v.get(i)).toArray();
}
for(Object o : array) {
for(Object o1 : (Object[])o) {
System.out.print(o1 + ", ");
}
}
}
}
------解决方案--------------------
***** 可以直接转位对象数组的*********
例如: v 是一个[[0101, 初始化,显示], [010101, 预置信息,显示], [010102, 基本属性维护, 显示]]集合
可以这样转换

Object[] obj = v.toArray();//转换为一个Object数组 对象数组里的元素是集合
for (int i = 0; i < obj.length; i++) {
System.out.println(obj[i].toString());//输出的结果是集合的内容 如:[0101, 初始化, 显示] 这种形式
}
//如果 在想把 结合里面的对象再次输出的话 可以在改写一下:
for (int i = 0; i < obj.length; i++) {
//System.out.println(obj[i].toString());
Vector vt= (Vector) obj[i];
for (int j = 0; j <vt.size(); j++) {
System.out.println(vt.get(j));
}
}

综上所述: 集合 的toArray() 方法可以装换为 Object数组
而数组的元素有可以是集合 那么这个数组 就相当与一个 二维数组了 或者说可以带到二维的效果。所以 一个toArray()方法就可以解决问题了

也许我的方法违背了 lz 的意图 请谅解 我只是想提供一种解决问题的思想!