一个二维的字符串vector,记录的是一个表格,其中每一维是其中表中的一条数据。
现在来个算法,将此二维vector转化仍为二维字符串vector, 但是每一维是其中表中的一个属性的所有值,
就是说,原来是横着塞数据,现在变竖着塞了
请问两个嵌套的循环怎么写呢?
求教了,谢谢
现在来个算法,将此二维vector转化仍为二维字符串vector, 但是每一维是其中表中的一个属性的所有值,
就是说,原来是横着塞数据,现在变竖着塞了
请问两个嵌套的循环怎么写呢?
求教了,谢谢
解决方案 »
- 空指针异常,看了好久好久,实在看不出来,求帮助
- 救急: JAVA 中实现 C 中的 结构,无法传递参数了
- list<>参数化的问题
- Eclipse中编辑.properties文件内的日文代码,如何才能正常显示啊,求教给位高手,谢谢啊!
- 在applet中java3d导入服务器文件的问题
- 我的线程是不是停了?请大家帮我看看
- 把JDesktopPane加到JScrollPane里时,把JDesktopPane拉小点.怎么不显示滚动条啊
- linux 下有什么好的开发工具?
- 求可下载的Thinking in Java第一版和第二版的程序光盘??
- Linux下的Java开发环境????
- 请问Rectangle2D是值类型还是应用类型?
- 请高手帮菜鸟看看这段代码!!!!!!!!
public class Reverse { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String[][] vector={{"1","2", "4", "5", "2", "6", "7"},
{"2","9", "8", "7", "1", "0", "7"},
{"4","5", "6", "7", "8", "1", "0"}
};
String[][] rs=new String[vector[0].length][vector.length];
for(int i=0;i<vector.length;i++)
{
for(int j=0;j<vector[i].length;j++)
{
rs[j][i]=vector[i][j];
}
}
//测试结果:
for(String[] e1:rs)
{
for(String e2:e1)
System.out.print(e2+" ");
System.out.println();
}
}}
程序运行结果:
1 2 4
2 9 5
4 8 6
5 7 7
2 1 8
6 0 1
7 7 0
而是用Vector<Vector<String> > 怎么办? 没有二维的下标的?
public static void main(String[] args){
Vector<Integer> v1=new Vector<Integer>();
v1.add(1);
v1.add(2);
Vector<Integer> v2=new Vector<Integer>();
v2.add(2);
v2.add(9);
Vector<Vector<Integer>> v=new Vector<Vector<Integer>>();
v.add(v1);
v.add(v2);
System.out.println(v.size());
Vector<Integer> v3=new Vector<Integer>();
Vector<Integer> v4=new Vector<Integer>();
for(Vector<Integer> temp:v){
for(int i=0;i<temp.size();i++){
if(i==0){
v3.add(temp.get(i));
}
if(i==1){
v4.add(temp.get(i));
}
}
}
System.out.println(v3);
System.out.println(v4);
}
[[1, 2], [2, 9]]
因为每个循环内的vector跳出循环后还要再被使用也是我现在头疼的问题。
public class Reverse { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// String[][] vector={{"1","2", "4", "5", "2", "6", "7"},
// {"2","9", "8", "7", "1", "0", "7"},
// {"4","5", "6", "7", "8", "1", "0"}
// };
Vector<Vector<String>> vector=new Vector<Vector<String>>();
Vector<String> v1=new Vector<String>();
v1.add("1");
v1.add("2");
v1.add("3");
vector.add(v1);
Vector<String> v2=new Vector<String>();
v2.add("4");
v2.add("5");
v2.add("6");
vector.add(v2);
String[][] rs=new String[vector.get(0).size()][vector.size()];
for(int i=0;i<vector.size();i++)
{
for(int j=0;j<vector.get(i).size();j++)
{
rs[j][i]=vector.get(i).get(j);
}
}
//测试结果:
for(String[] e1:rs)
{
for(String e2:e1)
System.out.print(e2+" ");
System.out.println();
}
}}
程序运行结果:1 4
2 5
3 6
请问如何将生成的二维数组转化为二维Vector? 就是简单一点的方法,有无之间生成vector的
或者库函数转换成vector的?就是不再用循环的方法
public static void main(String[] args){
Vector<Integer> v1=new Vector<Integer>();
v1.add(1);
v1.add(3);
v1.add(5);
Vector<Integer> v2=new Vector<Integer>();
v2.add(2);
v2.add(9);
v2.add(7);
Vector<Vector<Integer>> v=new Vector<Vector<Integer>>();
v.add(v1);
v.add(v2);
System.out.println(v.size());
Vector<Vector<Integer>> vResult=new Vector<Vector<Integer>>();
for(int i=0;i<v.get(0).size();i++){
Vector<Integer> vtemp=new Vector<Integer>();
vtemp.setSize(v.size());
vResult.add(vtemp);
}
System.out.println(vResult);
for(int j=0;j<vResult.size();j++){
for(int i=0;i<vResult.get(j).size();i++){
vResult.get(j).set(i, v.get(i).get(j));
}
} System.out.println(vResult);
}
}
for(int i=0;i <temp.size();i++){ 这个循环到过来使用吧!类似于如下:(伪代码) Vector <Vector <Integer>> v_bak=new Vector <Vector <Integer>>();
for(int i=0;i <v.get(0).size;i++){
for(Vector <Integer> temp:v){
Vector <Integer> vi=new Vector <Integer> ()
vi.add()
}
v_bak.add(vi);}