Organizar Vector

Galera gostaria de uma dica rapida e simples para ordernar um Vector, ele não é um Vector simples, seria algo assim.

Possuo uma lista em texto de produtos onde os campos é o codigo do produto e seu nome.

1528|PRODUTO1|#
5289|PRODUTO2|#
8969|PRODUTO3|#
8596|PRODUTO4|#

para jogar esta informação dentro de um Vector fiz da seguinte forma.

Vector linha = new Vector();
        Vector coluna = new Vector();
        StringBuffer aux = new StringBuffer();
        int tam = dados.length();
        for (int pos = 0; pos < tam; pos++) {
            if (dados.charAt(pos) != '|' || dados.charAt(pos) != '#') {
                aux.append(dados.charAt(pos));
            } else {
                if (dados.charAt(pos) == '|') {
                    coluna.add(aux.tostring());
                    aux = new StringBuffer();
                } else {
                    linha.add(coluna);
                    coluna = new Vector();
                    aux = new StringBuffer();
                }
            }
        }

Desta forma meu vector linha é na verdade um vector de vector e dentro de cada linha possuo um vector com 2 colunas.
se quero pegar o valor da posiçao linha=3 e coluna =1 só pegar com o comando ((Vector)linha.elementAt(3)).elementAt(1).tostring()

minha duvida como posso organizar este vector tanto pelo codigo do cliente quanto pelo nome do produto?

Valeu!!

Primeiro
Não use Vector! Use List!

Segundo
Não seria mais fácil no lugar de usar um vetor de vetores usar um vetor de objetos? Depois disso voce pode implementar no objeto o método compareTo da interface Comparable e organizar como voce quer.

Faz por POO, é mais prático, fácil e facilita vizualização e manutenção do código.

Ai sim depois fica mais fácio organizar seja lá pelo q quiser. Mas fiquei curioso… vou fazer aki e ai posto um exemplo.

[code]public class estoque {
static List p=new ArrayList();

public static void main(String[] args){
    adiciona(2,"sabão");
    adiciona(1,"bolacha");
    adiciona(3,"vassoura");
    adiciona(4,"vassoura");
    adiciona(5,"vassoura");
    adiciona(6,"vassoura");
    
    imprime(1);
}
static void adiciona(int c,String n){
    Produto prod= new Produto();
    prod.cod=c;
    prod.nome=n;

    p.add(prod);
}
static void imprime(int op){
    for(int i=0;i<p.size();i++)System.out.println(p.get(i).cod+" "+p.get(i).nome);
}

}
class Produto{
int cod;
String nome;
}[/code]