Ir al contenido principal

Entradas

Listas en java

Si hablamos de la implementación de listas en java, podemos referirnos a diferentes instancias como un Arraylist, linkedList, Vector o Stack. Cada uno de estos con sus propiedades puede resultar más útil para cada caso. Enfoquémonos en el primero: ArrayList Crea una lista vacía con una capacidad inicial de 10 (va creciendo conforme se almacenan elementos). Recordando cómo funcionan los arreglos estáticos (int array [n]) podemos eliminar el valor de una posición, pero no podemos eliminar la posición en si. Es decir, si tenemos un arreglo de tamaño 10 y solo ocupamos 4 espacios, los otros 6, aunque vacios, siguen ahí. y si queremos eliminar una posición y recorrer los datos, ahí se presenta un problema. Pues bien, ArrayList es una lista implementada con arreglos dinámicos, así que cuando eliminamos un elemento (que no sea el último) lo que en realidad se hace es tomar la posición del elemento a eliminar y recorrer los elementos posteriores a este. Y si rebasamos la capacidad actu...
Entradas recientes

Ordenar array en java

Ya he publicado un par de métodos para ordenar elementos, sin embargo resultan ser métodos de cuestión más educativa que práctica ¿por qué? Principalmente en java, un lenguaje tan desarrollado y tabajado ya incluye métodos eficientes para trabajar, particularmente en este caso, con arreglos de cualquier tipo. Para una demostración práctica vamos a crear un arreglo de números enteros sin un orden específico. Después vamos a aplicar un método llamado sort. Para poder utilizarlo vamos a necesitar importar la clase Arrays ( import java.util.Arrays; ). El método se funciona de la siguiente manera, muy parecido a cuando instanciamos una variable en el main: Arrays.sort(nombre_del_arreglo); Arrays es la clase donde existe el método, sort es el método y dentro del paréntesis va el arreglo al cual queremos aplicar el método. El método sort ordena los elementos del arreglo de menor a mayor. ¡Listo! sin escribirnos un método nosotros mismos, resumido en una línea de código, hemos ...

Ordenamiento por Selección

El ordenamiento por selección es uno de los algoritmos populares que se enseñan cuando se inicia en el mundo de la programación. Su efectividad varía dependiendo el número de elementos que vayamos a ordenar y la cuestión la explico a continuación: El ordenamiento por selección inicia comparando al primer elemento con el resto en búsqueda del más pequeño, cuando lo halla realiza un intercambio de posición. Después pasa al siguiente elemento y realiza la comparación con los elementos siguientes. Es decir, va a comparar todos los elementos de la lista o arreglo con sus elementos siguientes y entre cada ciclo pudiendo realizar varios intercambios de posición. Dejando de lado su cuestionable eficacia, les dejo el código: Analicémoslo un momento. Escribí un método antes del main (void ordenar) que es escencialmente el ordenamiento por selección. Tenemos dos ciclos for anidados, uno para la referencia del elemento que comparamos y el segundo para recorrer la lista. Dentro tenemos ...

Manejando tipos de datos con Java

Hoy vamos a ver un poco del manejo de métodos en java, puede haber métodos de muchos tipos, principalmente del tipo de datos (int, float, bool, char), cada método debe regresar un dato del mismo tipo del método (excepto void, el cual no regresa ningun tipo de dato) Veamos: Hasta aquí nuestro codigo trabaja bien, pero la salida no mostrará las variables, el return solo es un indicador para el programa. Si queremos que lo muestre entonces editamos nuestros métodos: Notas: Cuando ponemos System.out.println queremos una salida en consola, si queremos mostrar una variable usamos: + , fuera de las comillas. Como en C++ se usa el símbolo << , para separar cadenas de variables. El return nos ayuda a manejar información entre métodos a veces podemos hacer diferentes métodos de tipo int e ir pasando un dato a través de los diferentes métodos para que cada uno realice una tarea. Esto resulta particularmente efectivo con calculos grandes y complejos.

Regresamos... ahora en Java.

Después de una breve larga ausencia estamos de regreso, nos quedamos con muchos temas e ideas por discutir a las que no quiero abandonar. Sin embargo y siendo sincero se manejarme un poco mejor en java de lo que lo hago en C++, así que daré este nuevo enfoque. De nuevo a todos, no se asusten es algo muy sencillo y se avanza a buen paso. Empezamos: Notas: Línea 1: package hace referencia al archivo donde tenemos nuestro código. Es decir, si el paquete se llama "holamundo", quiere decir que nuestro archivo se llama "holamundo.java". Línea 3: class se refiere a una estructura de la programación orientada a objetos. Dentro de las clases podemos alojar variables, métodos y otras estructuras. estos métodos y variables los podemos llamar después creando un objeto de ese tipo y asignándole valores. Línea 4: aquí vemos un ejemplo de método (tipo void , no regresa ningún tipo de valor). ATENTO a que el método está situado DENTRO de las llaves que definen la clase ...

Operaciones con matrices II

Como les comenté la semana pasada, seguimos con las operaciones con matrices. Ya vimos lo sencilla que puede ser la suma y la resta pero ¿la multiplicación? puede parecer un poco complicado al principio así que vamos por partes. A diferencia de la suma y resta en la multiplicación se hace "fila por columna" y se suman los productos. Ya que se hace fila por columna es  necesario que las matrices a multiplicar sigan la siguiente forma: (n x m)(m x p) = (n x p) Es decir, el numero de columnas en la primera matriz debe ser igual al numero de filas en la segunda matriz. La matriz resultante será del número de filas de la primera por el número de columnas de la segunda. Para este caso veremos una matriz de 3x3 así que no tendremos problemas. Como pueden ver en la imagen primero se multiplica el primer elemento de A con el primer elemento de B, luego se suma a la multiplicación del segundo elemento de A por el segundo de B... etc.  (Tomando las matrices como A...

Operaciones con matrices I

Ya sabemos como representar una matriz en C++ ¿y luego?. Resulta que podemos realizar operaciones con matrices y numeros reales o entre matrices. En esta ocasión veremos las operaciones más sencillas entre matrices, suma y resta. Antes de ver el código cabe mencionar como se realizan las operaciones de suma y resta con matrices. Sencillo, Tenemos una Matriz_A y una Matriz_B supongámos que ambas son de 3x3, cada posición i,j de B se suma o se resta a la misma posición i,j de A y el resultado se coloca en la posición i,j de una nueva matriz. Por ejemplo:        1  2  3               9  8  7 A=  4  5  6        B=  6  5  4        7  8  9               3  2  1 Sumamos A[0,0] + B[0,0...