TreeMap es otra clase de colecciones ordenadas en java. Se compone de una clave y un valor. En el siguiente código verás como hacer para insertar claves y valores y poder verlas de dos formas distintas, una de ellas con un iterador. SortedMap nos ordenará todas nuestras claves de mayor a menor y eliminará las que estén repetidas. Utilizar TreeMap en java. Las claves y valores no tienen por que ser enteros, esto es solo un ejemplo. A la clase la he llamado Map:
import java.util.Iterator;
import java.util.SortedMap;
import java.util.TreeMap;
//Codigo por www.DesarrollarAplicaciones.com
public class Map {
public static void main(String[] args){
SortedMap sm=new TreeMap();
//introducimos claves y valores
sm.put(3, "Intruccion");
sm.put(2, 5);
//ver la clave mas baja
System.out.println("El valor mas bajo de la clave es: " + sm.firstKey());
//ver la clave mas alta
System.out.println("El valor mas alto de la clave es: " + sm.lastKey());
//ver todas las claves y valores ordenados
System.out.println("Las claves y valores son: "+sm);
//iterador que nos muestre cada una de las claves y valores
Iterator iterator = sm.keySet().iterator();
while (iterator.hasNext()) {
Object clave = iterator.next();
System.out.println("Clave: "+clave+" Valor: " + sm.get(clave));
}
}
}
abril 25th, 2012 | Posted in Algoritmo, Algoritmo dibujado, Codigo Java, Crear array java, Crear metodo java, Crear modulo java, Eclipse, Numeros, Numeros amigos java, numeros pares java, Programacion, Sin categoría, Sorted Map, TreeMap | Sin comentarios
En esta entrada utilizaremos en TreeSet (colecciones ordenadas) en Java. He creado una clase Persona con las variables (Nombre, dni y peso) y otra clase llamada ComparadorPeso. El objetivo del código es que el TreeSet nos ordene a dos personas que crearemos por el peso. Ejemplo de ejercicio con TreeSet código java.
Clase ComparadorPeso (implementa Comparator, por lo que en la clase hacemos el método compare. Compararemos los pesos de dos objetos, las dos personas que crearemos en el main, y dependiendo de como sea, devolverá un 1, un -1 o un 0):
import java.util.Comparator;
public class ComparadorPeso implements Comparator {
//Codigo por www.DesarrollarAplicaciones.com
public int compare(Object o1, Object o2){
Persona p1=(Persona)o1;
Persona p2=(Persona)o2;
int peso1=p1.getPeso();
int peso2=p2.getPeso();
if(peso1 > peso2){
return 1;
}
else{
if(peso1 < peso2){
return -1;
}
else{
return 0;
}
}
}
}
Clase Persona (implementa Comparable. En la parte del main daremos valor a las variables, y crearemos el TreeSet para que nos ordene a las dos personas por peso):
import java.util.TreeSet;
public class Persona implements Comparable{
//Codigo por www.DesarrollarAplicaciones.com
private String nombre;
private String dni;
private int peso;
public Persona(){
}
public Persona(String nombre, String dni, int peso){
this.nombre=nombre;
this.dni=dni;
this.peso=peso;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getDni() {
return dni;
}
public void setDni(String dni) {
this.dni = dni;
}
public int getPeso() {
return peso;
}
public void setPeso(int peso) {
this.peso = peso;
}
@Override
public int compareTo(Object arg0) {
// TODO Auto-generated method stub
return 0;
}
public String toString(){
String s="Nombre: "+nombre+" DNI: "+dni+" Peso: "+peso+" ";
return s;
}
//main desde donde probaremos nuestro código
public static void main(String[] args) {
Persona p1=new Persona();
Persona p2=new Persona();
p1.setNombre("Maria");
p1.setDni("88888888-N");
p1.setPeso(80);
p2.setNombre("Alberto");
p2.setDni("77777777-N");
p2.setPeso(92);
ComparadorPeso pesos=new ComparadorPeso();
TreeSet ts=new TreeSet(pesos);
ts.add(p1);
ts.add(p2);
System.out.println(ts.toString());
}
}
abril 21st, 2012 | Posted in Algoritmo, Algoritmo dibujado, Codigo Java, Crear array java, Crear metodo java, Crear modulo java, Eclipse, Listas enlazadas, Nodos, Numeros, Numeros amigos java, numeros pares java, Numeros primos, Programacion, Serie Fibonacci | Sin comentarios
Anteriormente ya habíamos visto como crear array y visualizarlo mediante un método. Ahora veremos un nuevo método el cual nos permitirá ordenar dicho array por intercambio con una variable auxiliar y con dos índices para recorrerlo. El código del método sería el siguiente:
public static void ordenarArray (int a[], int numero){
int i1=0;
int i2;
int auxiliar;
while (i1 <= numero-2){
i2=i1+1;
while (i2 <= numero-1){
if(a[i2] < a[i1]){
auxiliar=a[i2];
a[i2]=a[i1];
a[i1]=auxiliar;
}
i2++;
}
i1++;
}
i1=0;
}
El código completo para crear un array, ordenarlo y visualizarlo quedaría así (a la clase la he llamado Ordenar):
import java.util.Scanner;
public class Ordenar {
//codigo por www.desarrollaraplicaciones.com
public static void main(String[]args){
int numero;
int op=0;
int[]a = new int[50];
Scanner sc = new Scanner(System.in);
System.out.println("Numero de huecos que estaran ocupados en el array:");
numero = sc.nextInt();
while(op<= numero - 1){
System.out.println("Valor para el hueco del array:");
a[op]=sc.nextInt();
op = op + 1;
}
ordenarArray(a,numero);
verArray(a,numero);
}
public static void ordenarArray (int a[], int numero){
int i1=0;
int i2;
int auxiliar;
while (i1 <= numero-2){
i2=i1+1;
while (i2 <= numero-1){
if(a[i2] < a[i1]){
auxiliar=a[i2];
a[i2]=a[i1];
a[i1]=auxiliar;
}
i2++;
}
i1++;
}
i1=0;
}
public static void verArray(int[]a, int numero){
int i=0;
System.out.println("El valor del array ordenado es:");
while(i<=numero-1){
System.out.println(a[i]);
i=i+1;
}
}
}
abril 14th, 2012 | Posted in Codigo Java, Crear array java, Crear metodo java, Crear modulo java | Sin comentarios
En el siguiente código java veremos como crear una lista enlazada e insertar nodos en ella, ya sea por el principio de la lista o por el final.
He hecho una primera clase llamada Nodo en la que las variables son pais y ciudad (Nombres que habrá dentro de cada nodo) y Next (para desplazarnos de un nodo a otro.
La clase se compone de las 3 variables, el constructor con pais y ciudad, métodos gets y sets y un método toString:
public class Nodo {
private String pais;
private String ciudad;
private Nodo next;
public Nodo(String pais, String ciudad){
// Codigo por www.desarrollaraplicaciones.com
this.pais=pais;
this.ciudad=ciudad;
}
public String getPais() {
return pais;
}
public void setPais(String pais) {
this.pais = pais;
}
public String getCiudad() {
return ciudad;
}
public void setCiudad(String ciudad) {
this.ciudad = ciudad;
}
public Nodo getNext() {
return next;
}
public void setNext(Nodo next) {
this.next = next;
}
public String toString(){
String d;
d=pais+"-"+ciudad+" ";
return d;
}
}
En la siguiente clase (llamada Lista) he creado los métodos para añadir un nodo por el principio (add) y por el final (addFinal), además de un nodo inicio con valor null (para lista vacía) y un método toString. También he incluído en esta clase el main desde el que insertaremos nodos en la lista ya sean por el principio o por el final y llamaremos al toString para visualizar la lista enlazada:
public class Lista {
private Nodo inicio;
public Lista(){
// Codigo por www.desarrollaraplicaciones.com
this.inicio=null;
}
//añadiremos un Nodo por el principio de la lista
public void add(String pais, String ciudad){
Nodo r=new Nodo(pais, ciudad);
r.setNext(this.inicio);
this.inicio=r;
}
//añadiremos un Nodo por el final de la lista
public void addFin(String pais, String ciudad){
Nodo v=new Nodo(pais, ciudad);
Nodo r=this.inicio;
while(r.getNext()!=null){
r=r.getNext();
}
r.setNext(v);
v.setNext(null);
}
//String para ver cada uno de los nodos de la lista
public String toString(){
String d="";
Nodo r=this.inicio;
while(r!=null){
d=d+r.toString();
r=r.getNext();
}
return d;
}
//insertaremos nodos en la lista
public static void main(String[] args) {
Lista valor=new Lista();
valor.add("Francia", "Marsella");
valor.add("EEUU", "Florida");
valor.addFin("Chile", "Santiago");
System.out.println(valor.toString());
}
}
abril 13th, 2012 | Posted in Codigo Java, Crear metodo java, Crear modulo java, Listas enlazadas, Nodos | Sin comentarios
Con el siguiente código java podremos calcular la suma de las cifras de un número que introduciremos por teclado. Por ejemplo: si introducimos 241, el programa nos hará: 2+4+1 y nos devolvera el resultado: 7. El código queda así (a la clase yo la he llamado Cifras):
import java.util.Scanner;
public class Cifras {
public static void main(String[] args) {
// Codigo por www.desarrollaraplicaciones.com
int n;
int aux;
Scanner teclado=new Scanner(System.in);
System.out.println("Introduce el numero");
n=teclado.nextInt();
aux=n;
int total=0;
while(n != 0){
total=total+n%10;
n=n/10;
}
System.out.println("La suma de las cifras de "+aux+" es "+total);
}
}
febrero 18th, 2012 | Posted in Algoritmo, Algoritmo dibujado, Codigo Java, Crear array java, Crear metodo java, Crear modulo java, Eclipse, Numeros amigos java | Sin comentarios