Home > Blockchain >  How can I print an Object of a Vector when this last is into a Main-Vector? [JAVA]
How can I print an Object of a Vector when this last is into a Main-Vector? [JAVA]

Time:04-14

It's the first question that I do in this forum, I apologize in advance if I make any mistakes. My question is: How can I print a Vector that is into a Vector (main). I made a program that contains a vector of stacks (java.util) , inside the package I have two classes: -Stack, -mainProgram; The Stack class will create the object though a Vector (java.util) with the following methods: pop,push,peek,isEmpty,search,print. I did everything but I don't know how to print the stack contained in the Vector (main) with Its elements, where I should be able to add,remove,search and print the stacks.
Example of what I mean:

The print of the stacks that I wanna print should be like this -->


Stack 1:
10
20
30
40
50
60
Stack 2:
1
2
3
4
5

Stack 3:
100
110
120
130

Do you have any advice? Thanks in advance and sorry for my English!

CodePudding user response:

You shouldn't be using Vector anymore since it has become a legacy class years ago.

If you need to implement a Stack with a data structure of the Collections framework, then an ArrayDeque is your best choice.

This class is likely to be faster than Stack when used as a stack

However, if using a Vector is a constraint, you can simply print your elements with two nested fors. I've assumed that your innermost Vector contains Strings.

public void print(Vector<Vector<String>> vet){
        int i = 0;
        for (Vector<String> v : vet) {
            System.out.printf("Stack %d:%n",   i);
            for (String s : v) {
                System.out.println(s);
            }
            System.out.println();
        }
}

The implementation with an ArrayDeque would be exactly the same

public void print(ArrayDeque<ArrayDeque<String>> vet){
        int i = 0;
        for (ArrayDeque<String> v : vet) {
            System.out.printf("Stack %d:%n",   i);
            for (String s : v) {
                System.out.println(s);
            }
            System.out.println();
        }
}
  • Related