como guardo datos?

paz
03 de Diciembre del 2003
tengo unas secuencias que leo del puerto serie que puede ser de una de estas 4 maneras:

$GPGGA, 161229.487, 3723.2475, N, 12158.3416, W, 1, 07, 1.0, 9.0, M, , , ,0000*18

$GPGSA, A, 3, 07, 02, 26, 27, 09, 04, 15, , , , , , 1.8,1.0,1.5*33

$GPGSV, 2, 1, 07, 07, 79, 048, 42, 02, 51, 062, 43, 26, 36, 256, 42, 27, 27, 138, 42*71

$GPRMC, 161229.487, A, 3723.2475, N, 12158.3416, W, 0.13, 309.62, 120598, ,*10

como vereis algunas tienen enteros, double y char, y cada cadena esta determinada(en numero y componentes) por el empiece de la misma (q es un string)... como puedo guardar estos valores para luego poder acceder a uno determinado de ello? habia pensado en un vector y luego con v.get(i) acceder a los datos, pero me da error de compilacion..

otra idea era crear una funcion del tipo:

class structDatos(){
String name;
Double valor;
char a;
structDatos(String n, Double v,char a){
name=n;
valor=v;
a=a;
}
}

y luego hacer
vector datos= new Vector();
datos.addElement(new strcutDatos("hola",23.45,n));

pero el problema es que yo de antemano no se ni que tipo de estructura va a tener la cadena (os recuerdo q es distinta segun el empiece de la misma...) ni que valores va a tener cada componente, por lo que esta idea creo q tengo q descartarla..

alguine me puede echar una mano? estoy atascada en esto y lo necesito con cierta prisilla...

Saludos y gracias de antemano!
Paz