Java - Como generar un conjunto de elementos?

 
Vista:
Imágen de perfil de Borja

Como generar un conjunto de elementos?

Publicado por Borja (23 intervenciones) el 17/05/2013 17:06:53
Hola, primero gracias por entrar en esta pregunta y dedicarle unos minutos.

El problema que tengo es el siguiente: tenemos una clase llamada Conjunto que presenta la siguiente estructura:

public class Conjunto<E> {


private Vector<E> conj;

Hay dos funciones que me interesa implementar las cuales dependen de una funcion del elemento almacenado en el vector conj. Estas funciones son: fromString y toString. Que de momento presentan este aspecto.


public void fromString(Vector<String> datos) {

int n = datos.size();
this.conj = new Vector<E>();
for (int i = 0; i < n; ++i) {

E elem = E.newElem();
elem.fromString(datos.get(i));
this.conj.add(elem);
}
}

public String toString() {

int n = datos.size();
this.conj = new Vector<E>();
for (int i = 0; i < n; ++i) {

E elem = E.newElem();
resultado += elem.toString()+"\n";
}
return resultado;
}

la funcion newElem retorna un nuevo elemento de la clase que sea (está definida en todas las clases que se usan para formar el conjunto)

Esta mañana me comentaron que esto no podia hacerse en java. Efectivamente da error de compilación. Lo malo es que me comentaron otra forma de hacerlo (que no me pareció complicada), pero no recuerdo como me lo explicaron.

Cada elemento con el es que forma el conjunto contiene una funcion llamada toString y fromString.

A ver si alguien me puede ayudar con una forma de hacerlo. Gracias otra vez.

Saludos, Borja
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Como generar un conjunto de elementos?

Publicado por Tom (1831 intervenciones) el 20/05/2013 10:42:29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public void fromString(Vector<String> datos) {
  for(String s : datos) {
     E elem = new E();
     elem.fromString(s);
     conj.add(elem);
  }
}
/* */
public String toString() {
  StringBuilder res = new SringBuilder();
 
  for(E elem : conj) {
    res.append(elem.toString()).append("\n");
  }
  return res.toString();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Borja

Como generar un conjunto de elementos?

Publicado por Borja (23 intervenciones) el 20/05/2013 17:12:24
la funcion toString al final ya funciona. Es semejante a la que me has propuesto.

En cuanto a la fromString: java no permite crear una instancia de E (new E()).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como generar un conjunto de elementos?

Publicado por Tom (1831 intervenciones) el 20/05/2013 17:32:37
Ni idea de lo que es E en tu código. Si es elem = E.newElem(), perfecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Borja

Como generar un conjunto de elementos?

Publicado por Borja (23 intervenciones) el 20/05/2013 17:33:57
E viene de aquí:
Conjunto<E>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar