Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LENGUAJE DE PROGRAMACION I
Las colecciones son una especie de arrays de tamaño dinámico. Para usarlas haremos uso del Java
Collections Framework (JCF), el cual contiene un conjunto de clases e interfaces del
paquete java.util para gestionar colecciones de objetos.
Es el tipo más genérico en cuanto a que se refiere a cualquier tipo que contenga un grupo de
elementos. Viene definido por la interfaz Collection, de la cual heredará cada subtipo específico.
En esta interfaz encontramos una serie de métodos que nos servirán para acceder a los elementos
de cualquier colección de datos, sea del tipo que sea.
CLASE ARRAYLIST
La clase ArrayList permite el almacenamiento de datos en memoria de forma similar a los arrays
convencionales, pero con la gran ventaja de que el número de elementos que puede almacenar es dinámico.
La cantidad de elementos que puede almacenar un array convencional está limitado por el número que se
indica en el momento de crearlo o inicializarlo. Los ArrayList, en cambio, pueden almacenar un número
Esta Clase dispone de diversos métodos para manipular una colección de objetos dinámicamente. Para crear
Ejemplo:
prod es un objeto de tipo ArrayList que va a manipular un arreglo de objetos de tipo Producto.
Ejemplo :
Empleando la clase ArrayList realice mantenimiento de productos. Para ello, implemente la clase Producto,
LPIColecciones
SOLUCION:
PASO 1:
Diseñe la clase Producto en el paquete clase.producto.arrayproducto que tenga como atributos privados los
siguientes datos: código, descripción, precio unitario y stock. Implemente métodos de acceso set/get
package clase.producto.arrayproducto;
public class Producto{
// Atributos privados
private int codigo,stock;
private String descripcion;
private double pu;
// Constructor
public Producto( int codigo, String descripcion, double pu,
int stock ){
this.codigo=codigo;
this.descripcion=descripcion;
this.pu=pu;
this.stock=stock;
}
// Fija el código
public void setCodigo( int codigo ){
this.codigo = codigo;
}
// Fija la descripción
public void setDescripcion( String descripcion ){
this.descripcion = descripcion;
}
// Fija el precio unitario
public void setPu( double pu ){
this.pu = pu;
}
// Fija el stock
public void setStock( int stock ){
this.stock = stock;
}
// Retorna el código
public int getCodigo(){
return codigo;
}
// Retorna la descripción
public String getDescripcion(){
return descripcion;
}
// Retorna el precio unitario
public double getPu(){
return pu;
}
// Retorna el stock
public int getStock(){
return stock;
}
}
PASO 2:
• Un método obtener que reciba una posición y retorne el producto de esa posición
• Un método buscar que reciba un código y retorne el producto con ese código
package clase.producto.arrayproducto;
public class Arrayproducto {
private ArrayList <Producto> prod;
//constructor que crea el objeto ArrayList
public Arrayproducto(){
prod=new ArrayList<Producto>();
}
public void adicionar(Producto x){
prod.add(x);
}
public void eliminar(Producto x){
prod.remove(x);
}
public Producto obtener(int pos){
return prod.get(pos);
}
public Producto buscar(int codigo){
for(int i=0; i<prod.size(); i++)
if(codigo==prod.get(i).getCodigo())
return prod.get(i);
return null;
}
public int tamaño(){
return prod.size();
}
public double mayorPrecio(){
double max=prod.get(0).getPu();
for(int i=1; i<prod.size(); i++)
if(prod.get(i).getPu()>max)
max=prod.get(i).getPu();
return max;
}
public double menorPrecio(){
double min=prod.get(0).getPu();
for(int i=1; i<prod.size(); i++)
if(prod.get(i).getPu()<min)
min=prod.get(i).getPu();
return min;
}
}
PASO 3:
Una vez desarrollada las clases Producto y Arrayproducto implemente los siguientes métodos del programa
800 Mouse 60 25
Total de Productos :3
//---------------------------------------------------------
int getCodigo(){
return Integer.parseInt(txtcodigo.getText());
}
//-----------------------------------------------------
//---------------------------------------------------------
String getDescripcion(){
return txtdescripcion.getText();
}
//---------------------------------------------------------
double getPrecio(){
return Double.parseDouble(txtprecio.getText());
}
//---------------------------------------------------------
int getStock(){
return Integer.parseInt(txtstock.getText());
}
//---------------------------------------------------------
void mensaje( String m, String tipo ){
JOptionPane.showMessageDialog(this,m,tipo,JOptionPane.INFORMATION_MESSAGE);
}
//---------------------------------------------------------
// Ingresa un producto evitando que el código se repita
void ingresar(){
Producto prod=p.buscar(getCodigo());
if(prod==null){
prod=new Producto(getCodigo(),
getDescripcion(),getPrecio(),getStock());
p.adicionar(prod);
listar();
mensaje("Producto Ingresado", "Mensaje de confirmación");
}
else
mensaje("Codigo ya existe", "Mensaje de error");
}
//-------------------------------------------------------------
void consultar(){
Producto prod=p.buscar(getCodigo());
if(prod!=null){
//limpiar tabla
limpiar();
//cargar datos en la tabla
tablamod.addRow(new
Object[]{prod.getCodigo(),prod.getDescripcion(),prod.getPu(),prod.getStock()});
}
else
mensaje("Producto no existe", "Mensaje de error");
}
//----------------------------------------------------------------
if(p.tamaño()>0){
for(int i=0; i<p.tamaño(); i++){
Producto prod=p.obtener(i);
tablamod.addRow(new
Object[]{prod.getCodigo(),prod.getDescripcion(),prod.getPu(),prod.getStock()});
}
((DefaultTableModel)tablaprod.getModel()).removeRow(0);
}
}
//constructor de jFrame
public frmproductos() {
initComponents();
setTitle("Clase ArrayList");
items();
}
//eventos
private void btnborrarActionPerformed(java.awt.event.ActionEvent evt) {
borrar();
}
procesar();
seleccionar();
ACTIVIDAD
Se requiere administrar información de un HOTEL sobre las habitaciones y huéspedes, tiene los
siguientes datos: