Java - Ayuda con ArrayList

 
Vista:
sin imagen de perfil

Ayuda con ArrayList

Publicado por Carlos (11 intervenciones) el 27/04/2015 11:20:06
Hola, tengo un problema con mi proyecto. Tengo echo un inventario con un ArrayList, lo paso por paramatro a la clase Ventas. Se supone que el ArrayList almacen de la clase Inventario_I y el ArrayList de la clase Ventas_I apuntan al mismo sitio.
Entonces, yo creo un producto en el inventario con su indice, codigo, descripcion... y al entrar en venta me pide el codigo de el producto que quiero buscar para poder vender. Cuando introduzco el codigo salta directamente al final de la clase sin realizar ninguno de los bucles ni condicionales que hay por en medio. Estoy aprendiendo, soy novato y no se porque me pasa esto. Gracias de ante mano a quien me pueda ayudar a ver la luz. Adjunto el proyecto que tengo hasta ahora.
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
sin imagen de perfil

Ayuda con ArrayList

Publicado por Carlos (11 intervenciones) el 28/04/2015 13:28:33
Nadie me va a echar una mano
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 Alberto
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda con ArrayList

Publicado por Alberto (303 intervenciones) el 28/04/2015 16:39:15
Hola...

Disculpa, no había visto tu tema xD... Solo una pregunta... ¿Cuando ingresas una opción en tu menú, te manda a la acción a realizar o ni siquiera pasa de ese punto?...
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
sin imagen de perfil

Ayuda con ArrayList

Publicado por Carlos (11 intervenciones) el 28/04/2015 17:02:32
Después de crear un productos en Inventario. Cuando le doy a la opción venta, solo me da la opción de escribir el código o descripción del producto para buscarlo nada mas.
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 Alberto
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda con ArrayList

Publicado por Alberto (303 intervenciones) el 28/04/2015 17:44:49
Hola...

Hice mi pregunta con el fin de sacarme de una duda, pero en fin, yo solo me respondí (Maldito sueño xD)... Porque no usas mejor un HashMap, te coloco un ejemplo sencillo pero funcional, solo tendrías que adaptarlo a tus necesidades...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.ejercicio.main;
 
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Scanner;
 
public class EjercicioActualMain {
	public static void main(String[] args) {
		HashMap<Integer,PojoA> map = new LinkedHashMap<Integer,PojoA>();
		PojoA producto = new PojoA();
		producto.setId(1);
		producto.setCampo1("Hinata");
		producto.setCampo2("Hyuga");
		producto.setCampo3("Naruto");
		map.put(producto.getId(),producto);
 
		producto = new PojoA();
		producto.setId(2);
		producto.setCampo1("Yuno");
		producto.setCampo2("Gasai");
		producto.setCampo3("Mirai Nikki");
		map.put(producto.getId(),producto);
 
		producto = new PojoA();
		producto.setId(3);
		producto.setCampo1("Asuna");
		producto.setCampo2("Yuuki");
		producto.setCampo3("Sword Art Online");
		map.put(producto.getId(),producto);
 
		Scanner scan = new Scanner(System.in);
		System.out.print("Ingrese el codigo a buscar: ");
		int id = scan.nextInt();
 
		System.out.println("\nCODIGO: " + map.get(id).getId() + " NOMBRE: " + map.get(id).getCampo1() +
				" APELLIDO: " + map.get(id).getCampo2() + " ANIME: " + map.get(id).getCampo3());
	}
}

Te explico... HashMap hereda de la clase Map siendo esta la clase padre, sin embargo, eh leído que HashMap tiene un poco mas de rapidez cuando se trata de gran cantidad de datos, aunque sigo buscando una diferencia que me convenza. Cabe mencionar que la característica importante que tiene nuestro elemento en particular es que se caracteriza por su estructura; HashMap (K,V), donde K significa nuestro identificador (Key) que tendrá V (value) que viene siendo el valor correspondiente a ese Key. Para mayor información te invito a consultar la API de Java para que puedas comprender con mejor claridad.

Posteriormente solo es cuestión de ingresar el código a buscar y recibirlo como un entero ya que ese tipo corresponde al tipo en que nosotros declaramos nuestro Key, y buscar el valor correspondiente a ese Key.

De esta manera como podas ver, no es necesario recorrer una lista completa en busca del producto que tu necesitas, solamente es cuestión de buscar mediante el Key que tiene.

Sin mas que comentar, cualquier duda y/o inconveniente, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Ayuda con ArrayList

Publicado por Carlos (11 intervenciones) el 28/04/2015 17:49:38
Lo adaptare haber que tal. Muchas gracias
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
sin imagen de perfil

Ayuda con ArrayList

Publicado por Carlos (11 intervenciones) el 29/04/2015 09:30:33
Me sigue sin funcionar, ingreso productos en la clase Inventario_I y los intento buscar en la clase Ventas_I para poder elegir los que quiero vender y no sale nada, solo me pide el codigo o descripcion, llega al bucle for y del bucle for salta al final de la clase Ventas_I ignorando el resto del codigo. Me parece que el arraylist que lleno en la clase Inventario_I no puedo utilizarlo en la clase Ventas_I. Le he pasado el Arraylist<Producto_I>almacen del Inventario_I por parametros al constructor de la clase Ventas_I, con esto el ArrayList almacen del Inventario_I y el ArrayList almacen de Ventas_I apuntan al mismo sitio, entonces porque no puedo buscar en la clase Ventas_I los productos que agrego en la ArrayList de la clase Inventario_I. Sino es así como podría crear un arraylist en una clase, agregar objetos y después en otra clase poder ver, modificar... esos objetos que he agregado en la primera clase.

No se si me he explicado bien, ya no se que hacer.
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
sin imagen de perfil

Ayuda con ArrayList

Publicado por Carlos (11 intervenciones) el 29/04/2015 09:48:06
Si utilizo el mismo codigo en le misma clase funciona bien:
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