viernes, 11 de mayo de 2018

Lista de contactos ArrayList(JAVA)




Se creo un lista de Contactos con ArrayList, este simulara a una libreta de contactos que guardara e imprimirá los contactos que guardemos.

Resultado de imagen para ArrayList

A continuación veremos el código:


import java.util.Scanner;

public class Libreta {
    private static String Lista;
    private static String Socio;

    public Libreta(String Socio, String Lista) {
        this.Socio = Socio;
        this.Lista = Lista;
    }

    public static void main(String[] args) {
        Lista list = new Lista();
        Socio socio = new Socio("socio1", "socio1", "socio1", "socio1", "socio1");
        Scanner scan = new Scanner(System.in);
        System.out.println("Desea Ingresar nuevo contacto");
        System.out.println("1)Si\n2)No");
        int si = scan.nextInt();
        while (si == 1) {
            System.out.println("Ingresar nuevo nombre completo");
            String cadena = scan.nextLine();
            socio.setNombre(cadena);
            list.setSocios(socio.getNombre());
            String nombreList = list.getSocios();

            String cadena1 = scan.nextLine();
            socio.setApellido(cadena);
            list.setSocios(socio.getApellido());
            String apellidoList = list.getSocios();


            System.out.println("Ingresar numero de telefono");
            String cadena2 = scan.nextLine();
            socio.setTelefono(cadena);
            list.setSocios(socio.getTelefono());
            String telefono = list.getSocios();

            System.out.println("Ingresar direccion");
            String cadena3 = scan.nextLine();
            socio.setDireccion(cadena);
            list.setSocios(socio.getDireccion());
            String direccion = list.getSocios();

            System.out.println("Ingresar edad");
            String cadena4 = scan.nextLine();
            socio.setEdad(cadena);
            list.setSocios(socio.getEdad());
            String edad = list.getSocios();

            System.out.println("Ingresar trabajo");
            String cadena5 = scan.nextLine();
            socio.setTrabajo(cadena);
            list.setSocios(socio.getTrabajo());
            String trabajo = list.getSocios();


            System.out.println("Desea Ingresar nuevo contacto");
            System.out.println("1)Si\n2)No");
            si = scan.nextInt();
            System.out.println(cadena+"\n"+cadena2+"\n"+cadena3+"\n"+cadena4+"\n"+cadena5 );

        }


    }

}




public class Socio {
    public String nombre;
    public String apellido;
    public String telefono;
    public String direccion;
    public String edad;
    public String trabajo;

    public Socio(String nombre,  String telefono, String direccion, String edad, String trabajo){
        this.nombre=nombre;;
        this.telefono=telefono;
        this.direccion=direccion;
        this.edad=edad;
        this.trabajo=trabajo;
    }

    public String getNombre(){
        return nombre;
    }
    public void setNombre(String nombre){
        this.nombre=nombre;
    }
    public String getApellido(){
        return apellido;
    }
    public void setApellido(String apellido){
        this.apellido=apellido;
    }


    public String getTelefono(){
        return telefono;
    }
    public void setTelefono(String telefono){
        this.telefono=telefono;
    }
    public String getDireccion(){
        return direccion;
    }
    public void setDireccion(String direccion){
        this.direccion=direccion;
    }
    public String getEdad(){
        return edad;
    }
    public void setEdad(String edad){
        this.edad=edad;
    }
    public String getTrabajo(){
        return trabajo;
    }
    public void setTrabajo(String trabajo){
        this.trabajo=trabajo;
    }
}




import java.util.ArrayList;

public class Lista  {
    static private Lista sc;
    private String socios;
    ArrayList<String> lista = new ArrayList();

public String getSocios() {
    return socios;
}

public void setSocios(String socios) {
    this.socios = socios;
}

public void array(String nombre) {
    lista.add(nombre);
    System.out.println(lista);
    }

}




Se utilizaron 3 clases:
Socio, donde se encuentran los datos de la personaje que añadiremos a la libreta.
Lista, que sera donde guardaremos a nuestros socios.
Libreta, sera la principal, llamaremos las clases Socio y Lista, también es sera donde básicamente funciona todo.
Tendra los Scanner para añadir nuevos socios, un while que pregunte si queremos añadir mas y también donde se imprimirán los contactos.





https://drive.google.com/open?id=18tm51ryyRk3wxYU6VAgK4L7zaqUtnAPn

Lista de clientes con código y nombre para los clientes LinkedList(JAVA)




LinkedList y ArrayList son dos diferentes implementaciones de la interfaz List. LinkedList usa internamente una lista doblemente ligada, mientras que ArrayList usa un arreglo que cambia de tamaño dinámicamente.
La clase LinkedList implementa la interface List. Eso quiere decir que tendrá una serie de métodos propios de esta interface y comunes a todas las implementaciones. Así utilizando siempre que se pueda declaración de objetos del tipo definido por la interface podemos cambiar de forma relativamente fácil su implementación (por ejemplo pasar de ArrayList a LinkedList y viceversa) y conseguir mejoras en el rendimiento de nuestros programas con poco esfuerzo.

ArrayList vs LinkedList



A continuación  veremos el código de LinkedList y los usos de la estructura de LinkedList.

import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;

public class Principal {
    public static void main(String[] args)
    {
        LinkedList<Cliente> clientes= new LinkedList<Cliente>();
        clientes.add(new Cliente("Daniel",1, 465412318));
        clientes.add(new Cliente("Juan",2, 316487321));
        //clientes.clear();
        clientes.add(new Cliente("Arnold",2, 216843928));
        clientes.add(new Cliente("Oscar",4, 632149876));
        //clientes.addFirst(new Cliente("Jonathan",4)); Añade al inicio de la lista
        clientes.add(new Cliente("Brian",5, 648132789));
        clientes.add(new Cliente("John",6, 120395403));
        //clientes.remove(new Cliente("Red",7, 0189657));Remueve
        clientes.add(new Cliente("Marco",8, 545612145));
        clientes.add(new Cliente("Jesus",9, 468421264));
        clientes.add(new Cliente("Polo",10, 678462136));
        //clientes.removeLast(); Remueve el ultimo elemento
        //clientes.removeFirst(); Remuev el primer elemento
        //clientes.remove(2); Remueve la posicion
        //clientes.pollLast(); Recupera y borra el ultimo elemento de la lista
        //clientes.pollFirst(); Recupera y borra el primer elemento de la lista
     
        //System.out.println(misclientes.getLast().nombre);

        ListIterator<Cliente>Iterator=clientes.listIterator();

        for(int i=0;i<clientes.size();i++)
            System.out.println(clientes.get(i).nombre);
    }
}


public class Cliente {
    String nombre;
    int codigo;
    int nit;

    public Cliente(String nombre, int codigo, int nit) {
        this.nombre = nombre;
        this.codigo = codigo;
        this.nit = nit;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public int getCodigo() {
        return codigo;
    }

    public void setCodigo(int codigo) {
        this.codigo = codigo;
    }

    public int getNit() {
        return nit;
    }

    public void setNit(int nit) {
        this.nit = nit;
    }
}


Se crearon dos clases:
La de Principal y de cliente.
La clase Cliente se encarga de cargar sus atributos como ser nombre, codigo y nit.
En la clase Principal llamaremos a la clase Cliente y procederemos a crear Clientes, tambien crearemos un LinkedList en donde cargaremos los clientes y usaremos las operaciones del LinkedList.

Estas son todas las operaciones de un LinkedList:
        lista.add("1"); // Añade al final el elemento
        lista.addFirst("0"); // Añade al inicio el elemento
        lista.addLast("2"); // Añade al final el elemento
        lista.addLast("3"); 
        lista.addLast("4");
        lista.set(1, "nuevo1"); // Sustituye el contenido de la casilla 1 por "nuevo1"
        lista.isEmpty(); // Devuelve si está o no vacía
        lista.get(1); // Recupera el contenido de la posición 1
        lista.getFirst(); // Recupera el contenido de la primera posición de la lista
        lista.getLast(); // Recupera el contenido de la última posición de la lista
        lista.pollFirst(); // Recupera y borra el primer elemento de la lista
        lista.pollLast(); // Recupera y borra el último elemento de la lista
        lista.remove(0); // Borra la posición 0
        lista.remove("98"); //Busca el elemento y si lo encuentra lo borra
        lista.removeFirst(); // Borra el primer elemento
        lista.removeLast(); // Borra el último elemento
        lista.contains("2"); // Devuelve si la lista contiene o no el elemento
        lista.size(); // Devuelve el tamaño de la lista
        lista.clear(); // Vacia la lista

De los cuales solo usaremos unos cuantos.










https://drive.google.com/open?id=1nWcF4t-_gatIxTXCcXL7XyMRQDASQ3bb

jueves, 10 de mayo de 2018

Buscar un objeto dentro de una Pila (Stack) en Java




La clase Stack es una clase de las llamadas de tipo LIFO (Last In - First Out, o último en entrar - primero en salir). Esta clase hereda de la clase que ya hemos estudiado anteriormente en el curso Vector y con 5 operaciones permite tratar un vector a modo de pila o stack.

Las operaciones básicas son push (que introduce un elemento en la pila), pop (que saca un elemento de la pila), peek (consulta el primer elemento de la cima de la pila), empty (que comprueba si la pila está vacía) y search (que busca un determinado elemento dentro de la pila y devuelve su posición dentro de ella).

                       


A continuación vamos a explicar la clase Stack de Java, que implementa la interface List. Stack se traduce por “pila” y para recordar su significado podemos pensar en una pila de libros. También veremos las características más importantes de esta nueva implementación y haremos un ejemplo a modo de ejercicio.


CÓDIGO

public class Libro {
String titulo;
String autor;
int codigo;

public Libro(String titulo, String autor, int codigo)
{
this.titulo=titulo;
this.autor=autor;
this.codigo=codigo;
}

public String getTitulo() {
return titulo;
}

public void setTitulo(String titulo) {
this.titulo = titulo;
}

public String getAutor() {
return autor;
}

public void setAutor(String autor) {
this.autor = autor;
}

public int getCodigo() {
return codigo;
}

public void setCodigo(int codigo) {
this.codigo = codigo;
}
}

import java.util.Scanner;
import java.util.Stack;
import java.lang.String;
public class Principal {
public static void main(String [] args) {
System.out.println("BUSCADOR DE LIBROS EN UNA PILA");
Scanner leer = new Scanner(System.in);

Stack<Libro> piladelibros = new Stack<>();

Libro l1 = new Libro("TOMA1", "ANDRES",1000);
Libro l2 = new Libro("TOMA2", "ANA",1001);
Libro l3 = new Libro("TOMA3", "ALFREDO",1002);
Libro l4 = new Libro("TOMA4", "BRAYAN",1003);
Libro l5 = new Libro("TOMA5", "BRENDA",1004);
Libro l6 = new Libro("TOMA6", "BETO",1005);
Libro l7 = new Libro("TOMA7", "CARLOS",1006);
Libro l8 = new Libro("TOMA8", "CARLA",1007);
Libro l9 = new Libro("TOMA9", "CARMEN",1008);
Libro l10 = new Libro("TOMA10", "DANIEL",1009);
Libro l11 = new Libro("TOMA11", "DANNA",1010);
Libro l12 = new Libro("TOMA12", "ESTEFY",1011);
Libro l13 = new Libro("TOMA13", "GABY",1012);
Libro l14 = new Libro("TOMA14", "HUGO",1013);
Libro l15 = new Libro("TOMA15", "JHONATAN",1014);
piladelibros.push(l1);
piladelibros.push(l2);
piladelibros.push(l3);
piladelibros.push(l4);
piladelibros.push(l5);
piladelibros.push(l6);
piladelibros.push(l7);
piladelibros.push(l8);
piladelibros.push(l9);
piladelibros.push(l10);
piladelibros.push(l11);
piladelibros.push(l12);
piladelibros.push(l13);
piladelibros.push(l14);
piladelibros.push(l15);

boolean band= false;
String dato;
System.out.println("INGRESE EL TITULO DEL LIBRO QUE DESEA BUSCAR :");
dato= leer.nextLine();

while (!piladelibros.empty()&&!band)
{
if (piladelibros.pop().getTitulo().equals(dato))
band=true;
}
if (band)
System.out.println("SU LIBRO SE ENCUENTRA DISPONIBLE");
else {
System.out.println("LO SENTIMOS SU LIBRO NO SE ENCUENTRA DISPONIBLE");
}

}

}

Se procedió a crear dos clase:
Clase Libro que contiene los datos de los libros titulo, autor y un código.
Clase Principal donde empezamos a crear los libros con sus respectivos datos, creamos un escanear para pedir el dato a buscar y un Stack para almacenar nuestros libros.
Creamos 15 libros y cada uno usamos el push para agregar cada libro a nuestro Stack.
Declaramos una variable de tipo boolean que sea igual a false para que nos ayude en la búsqueda de nuestro libro.
Creamos una variable dato de tipo String que sera el que almacene nuestro dato pedido por pantalla, pedimos por pantalla el titulo del libro que deseamos buscar, guardamos ese titulo en nuestra variable dato.
Iniciamos un ciclo While donde la condición sea que mientras nuestra pila no este vacía y nuestro band sea falso continué a nuestro siguiente proceso que es un if donde se pregunta que si el titulo de nuestros libros sea igual al titulo de la variable dato, mientras no sean iguales el while seguirá recorriendo hasta que verifique que si hay un libro igual al del dato la variable band cambie a true y así termine el while por no cumplir con una de sus condiciones, saltando así a nuestro siguiente if donde preguntamos el estado del boolean band que si esta en true quiere decir que si hay un libro con el dato buscado y si esta en false no hay un libro con su dato solicitado.


Descarga el codigo aqui

Lista de clientes con sus pedidos usando List en Java


El uso de listas en Java es una forma útil de almacenar y manipular grandes volúmenes de datos, tal como haríamos en una matriz o arreglo, pero con una serie de ventajas que hacen de este tipo de variables las preferidas para el procesamiento de grandes cantidades de información.


Las listas son una estructura de datos sencilla de usar para almacenar una gran variedad de datos, en Java la Clase List es la que permite creas listas "Genéricas" para cualquier tipo de dato, aunque trabajarlas como tales a sido una actividad que quedó obsoleta por lo que es necesario indicar los tipos de datos con los que se trabajaran


CÓDIGO

public class Cliente {
String nombre;
int ci;
String pedido;

public Cliente(String nombre, int ci,String pedido)
{
this.nombre=nombre;
this.ci=ci;
this.pedido=pedido;
}

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public int getCi() {
return ci;
}

public void setCi(int ci) {
this.ci = ci;
}

public String getPedido() {
return pedido;
}

public void setPedido(String pedido) {
this.pedido = pedido;
}


}
public class Pedido {
String combo;
String presas;
String extra;
int precio;



public Pedido(String combo, String extra, int precio, String presas)
{
this.combo=combo;
this.presas=presas;
this.extra=extra;
this.precio=precio;

}

public String getCombo() {
return combo;
}

public void setCombo(String combo) {
this.combo = combo;
}

public String getExtra() {
return extra;
}

public void setExtra(String extra) {
this.extra = extra;
}

public int getPrecio() {
return precio;
}

public void setPrecio(int precio) {
this.precio = precio;
}

public String getPresas() {
return presas;
}

public void setPresas(String presas) {
this.presas = presas;
}

}

import java.util.ArrayList;

public class Principal {
public static void main(String [] args)
{
Cliente c1 = new Cliente("Juan",1001,"combo1");

Cliente c2 = new Cliente("Pepe",1002,"combo2");

Cliente c3 = new Cliente("Esteban",1003,"combo3");

Cliente c4 = new Cliente("Luis",1004,"combo1");

Cliente c5 = new Cliente("Pedro",1005,"combo2");

Pedido p1 = new Pedido("combo1","papas",26,"2");

Pedido p2 = new Pedido("combo2","papas y refresco",32,"2");

Pedido p3 = new Pedido("combo3","papas, refresco y arroz",38,"2");

ArrayList<Pedido> listapedidos = new ArrayList<>();

ArrayList<Cliente> listaclientes = new ArrayList<>();

listapedidos.add(p1);

listapedidos.add(p2);

listapedidos.add(p3);

listaclientes.add(c1);

listaclientes.add(c2);

listaclientes.add(c3);

listaclientes.add(c4);

listaclientes.add(c5);

System.out.println("ESTA ES LA LISTA DE CLIENTES CON SUS RESPECTIVOS PEDIDOS");

for (int i=0;i<listaclientes.size();i++) {

for (int j = 0; j < listapedidos.size(); j++) {

if (listaclientes.get(i).getPedido().equals(listapedidos.get(j).getCombo())) {

System.out.println("------------------------------------------------");

System.out.println("CLIENTE #: " + listaclientes.get(i).getCi());

System.out.println("NOMBRE: " + listaclientes.get(i).getNombre());

System.out.println("PEDIDO: " + listaclientes.get(i).getPedido());

System.out.println("QUE CONTIENE : ");

System.out.println(listapedidos.get(j).getPresas() + " PRESAS");

System.out.println(listapedidos.get(j).getExtra() + " EXTRAS");

System.out.println("CON UN TOTAL DE: " + listapedidos.get(j).getPrecio() + " Bs");
}
}
}
}
}
Se crearon 3 clases:
Clase Cliente donde se introducen el nombre del cliente, un pedido yun código.
Clase Pedido donde se introduce el nombre del combo, las presas, losextras y el precio del respectivo combo.
Clase Principal donde realizamos el llenado de los datos de clientesy pedidos.
Creamos dos ArrayList una para clientes y otra para los pedidos, se procede a agregar los clientes y pedidos creados sus respectivosArrayList.
Iniciamos un ciclo for para la (listaclientes) y recorra todos los clientes de nuestra lista dentro del primer for creamos otro forpara recorrer la (listapedidos).
Ya dentro de estos dos for usamos un if para hacer una comparación entre el pedido del cliente y el combo de los pedidos, así obtendremos a nuestros dos ArrayList emparejados de acuerdo a el pedido del cliente.
Una vez echo esto procedemos a imprimir los datos que queramos mostrar en pantalla de forma ordenada.





Descarga el codigo aqui