lista

Recorrer ArrayList en Java

Recorrer ArrayList en Java: varios métodos

Hoy veremos cómo iterar o recorrer un ArrayList en Java. Recordemos que un ArrayList sirve para tener una lista de elementos de cualquier clase, además de que la misma se puede modificar (hacer crecer o eliminar elementos) a diferencia de los arreglos.

Vamos a ver 3 métodos para poder recorrer un ArrayList en Java; el primero es un for sin índice (también llamado forEach), el segundo es usando un ciclo for con un contador y el tercero es usar la función forEach del ArrayList.

Continue reading…

RecyclerView con múltiples vistas / ViewHolders en Android

Los elementos dentro de un RecyclerView de Android son del mismo tipo y tienen la misma apariencia; pero en ocasiones vamos a necesitar mostrar distintos elementos o vistas dentro del mismo RecyclerView.

Por ejemplo, en una lista de elementos tal vez solo mostramos algunos, y al final una opción de “Ver más” o “Ver todos”.

Para lograr esto solo tenemos que modificar el adaptador

Continue reading…

Longitud en Python sin usar len

Python – Longitud de cadena o lista sin usar len

Hoy voy a explicar cómo obtener la longitud de una cadena o de una lista en Python pero sin usar la función integrada llamada len.

Longitud en Python sin usar len

Longitud en Python sin usar len

Como sabemos, len devuelve la longitud de una cadena:

longitud = len("hola")

Pero el ejercicio que resolveremos hoy no permite el uso de len, así que vamos a crear una función que devuelva la longitud de una cadena o lista sin usar len.

Continue reading…

Invertir lista en Python

Invertir arreglo o lista en Python

Siguiendo los tutoriales de listas en Python veamos ahora cómo invertir o voltear un arreglo en este lenguaje.

Invertir lista en Python

Invertir lista en Python

Para invertir una lista o arreglo en Python se utiliza un método que modifica internamente a las mismas, aunque también se puede usar la notación de cortes en las listas.

Continue reading…

Cortar arreglos en Python, slice en listas

Operaciones para cortar listas en Python (slice notation)

Python es un lenguaje que tiene algunas propiedades un poco especiales a la hora de tratar con listas o arreglos. Se puede cortar un arreglo desde su inicio hasta determinado lugar, o desde determinado lugar hasta el final.

Cortar arreglos en Python, slice en listas

Cortar arreglos en Python, slice en listas

También se puede cortar desde el inicio hasta -2 elementos, y otras cosas que al principio son confusas pero después son útiles.

Nota: al menos para efectos de este post, lista y arreglo se refieren a lo mismo.

Continue reading…

Algoritmo de búsqueda binaria en listas y arreglos de Python

Introducción

Continuamos con la serie de tutoriales acerca de la implementación del algoritmo de búsqueda binaria en muchos lenguajes de programación.

Hoy es el turno de un lenguaje que uso para automatizar cosas: Python. En Python los arreglos son conocidos como listas.

Veremos cómo implementar el algoritmo de búsqueda binaria tanto recursivamente como con un ciclo while; esto último también es llamado búsqueda binaria secuencial.

Realmente, cuando conocemos el algoritmo, su aplicación en un lenguaje de programación es sencillo. Pero bueno, vamos al punto. En resumen:

  • Veremos cómo implementar el algoritmo de búsqueda binaria en listas de Python, usando recursividad
  • Aplicaremos el algoritmo de búsqueda binaria en arreglos de Python (lo mismo que las listas), pero sin usar recursividad.

Continue reading…

Ocultar contenido de app mientras no está lista en AngularJS

Introducción

Conforme crecen nuestras aplicaciones diseñadas con el framework AngularJS, a veces se muestran porciones que no deberían mostrarse.

Es decir, mientras la app carga se muestran plantillas sin procesar, o cosas que deberían estar ocultas (como un menú).

AngularJS proporciona una manera muy sencilla de ocultar nuestra app mientras ésta no esté lista. O en otras palabras, no mostrar nada mientras nuestra app esté cargando.

Ocultar app mientras carga con NgCloak

Para ocultar, tenemos que modificar dos cosas: nuestra vista (html) y nuestros estilos (css). En los estilos CSS ponemos lo siguiente:

[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
    display: none !important;
}

Básicamente estamos diciendo que aquellos elementos que tengan la directiva ng-cloak no deben mostrarse. Supongo que después, cuando el framework detecta que la app está lista, remueve ese estilo.

En fin, ahora para terminar, en donde definamos la directiva ng-app (normalmente en el body) agregamos la directiva ng-cloak:

<body ng-cloak ng-app="tuApp" ng-controller="tuControlador">

 

Referencias

Lo expuesto aquí fue sacado de la documentación oficial.

Python: comprobar si elemento o valor existe en lista o arreglo

Introducción

A veces necesitamos saber si un elemento o un valor están dentro de una lista, arreglo o array en Python. Puede que haya necesidad de simplemente saber si existe, pero también es posible que necesitemos obtener la posición de un elemento, es decir, su índice.

Hoy veremos cómo hacerlo en Python, para comprobar si elemento existe en arreglo, así como para obtener el índice de determinado valor.

Comprobar si elemento existe

Utilizamos para ello el operador in, que devuelve un booleano indicando la existencia del valor dentro del arreglo. Así:

Como vemos, no importa si nuestro arreglo o lista es de tipo cadena o entero. Eso sí, deben ser datos primitivos.

Obtener índice de elemento

Si queremos obtener el índice o posición, usamos el método index de las listas. Así:

Al ejecutarlo, imprime la posición 1 (recordemos que los valores de la lista comienzan en 0).

Importante es recordar que se generará un error si el elemento no existe en la lista. Para manejarlo, podemos hacer algo así:

En ese caso, se genera una excepción; pues el elemento no existe en la lista. Con eso terminamos por hoy.

Mira más tutoriales de Python aquí.