Hola, poseo una interfaz en swing con varios JTextField dentro de los cuales destaca el JTextField que ingresa un código de un lote de producción. Cada lote ingresa en la interfaz lo siguiente: nombre del producto, fecha, cantidad, kilos defectuosos y total kilos a bodega.
Es decir, el codigo del lote es único para cada producción. Por lo tanto, no se debe permitir el ingreso de códigos de lote repetidos.
Además, poseo un botón llamado Agregar, el cual debe cada vez que se presiona, ingresar los datos de los JTextFields a una colección. Como expliqué, el código es único, por lo tanto la colección que use no debe aceptar datos repetidos, por esto he descartado el uso de las clases ArrayList y LinkedList. Me quedo con las colecciones que implementen la interface Set: HashSet o TreeSet.
Si tengo:
HashSet hs = new HashSet();
hs.add("tCodigo.getText()"); // tCodigo es mi TextField donde se ingresa el código
hs.add("Producto Uno");
hs.add("tCantidad.getText()"); // tCantidad es el JTextField donde se ingresa una cierta cantidad.
//sigo agregando al HashSet
hs.add("tCodigo.getText()"); // este código es distinto al de arriba
hs.add("Producto Dos");
hs.add("tCantidad.getText()");
en esta última línea de codigo es donde tengo la duda. Imaginen que los codigos son distintos, esto implica que sera´n agregados a la colección: ahora, si tCantidad.getText() es el mismo valor, este último no será agregado a la colección a pesar de pertenecer a lotes distintos. Es algo asi:
Codigo 1
Nombre Producto : Shampoo
Cantidad: 50
Codigo 2
Nombre Producto: Aceite
Cantidad: 50
Es decir, los codigos son distintos y los productos tb. lo son, pero la cantidad es la misma (algo que puede ocurrir en la realidad).
Qué colección o forma de trabajar plantean Uds.?
Gracias.