如何打印Vector []的所有值

时间:2010-06-10 20:19:58

标签: java printing vector

我有Vector Object[]类型存储我的数据。如何打印它的所有对象?

代码:

private static Vector<Object[]> vector = new Vector<Object[]>();


int event=0;
for(int i=0; i<10; i++){
    vector.add( this.addToObject(System.currentTimeMillis(), event , "String") );
    event++;    
}

private Object[] addToObject(long t, int i,String s ){
    Object[] o = new Object[4];
    o[3] = s;
    o[2] = i;
    o[1] = "00000";
    o[0] = t;
    return o;
}

印刷

public static void main(String[]args){
    main m = new Main();

    for(int i=0; i< m.vector.size(); i++){

    }

}

我想得到这样的话:

1202393057117 1OO0000字符串
1202393057117 2 OOOOO String
1202393057118 3 OOOOO String
1202393057118 4 OOOOO String
1202393057118 5 OOOOO String

6 个答案:

答案 0 :(得分:5)

在打印循环中:

Object[] objs = vector.get(i);
for (Object o : objs) {
    System.out.print(o + " ");
}
System.out.println();

答案 1 :(得分:5)

<{3}}中的Joshua Bloch建议尽可能使用for-each循环:

for (Object[] array : vector) {
    for (Object obj : array) {
        System.out.println(obj);
    }
}

但是,由于您使用固定大小为4的Object[],并且使用预先知道的属性集,因此建议您创建一个新类:

class DataHolder {
    private someProperty;
    private someOtherProperty;
    ... + setters and getters
}

而不是array[2] = something,您将拥有dataHolder.setSomeProperty(something) - 更具可读性和可维护性。

下一步是覆盖toString()(再次按照Bloch的建议)并实现它以打印对象的整个内部状态。

然后循环将如下所示:

for (DataHolder dataHolder : vector) {
    System.out.println(dataHolder);
}

答案 2 :(得分:1)

Arrays.deepToString(vector.get(i));

或者手动打印,正如Lauri Lehtinen建议的那样。

答案 3 :(得分:1)

您还可以使用以下代码

打印矢量元素
Vector v = new Vector();
v.addElement("Java");
v.addElement("is");
v.addElement("programming");
v.addElement("language");

// enumerate the elements in the vector.
Enumeration vEnum = v.elements();
System.out.println("\nElements in vector:");
while(vEnum.hasMoreElements())
    System.out.print(vEnum.nextElement() + " ");

答案 4 :(得分:1)

我认为你不需要做任何特别的事情。下面的代码片段工作得很好:

System.out.println("The vector is: " + vector);

欢迎查询!

答案 5 :(得分:0)

在循环中:

Object[] o = m.vector.get(i);
System.out.printf("%d %d %s %s\n", o[0], o[2], o[1], o[3]);