arreglos y arreglos con listas

30
Arrays y ArrayList

Upload: stephanye-bedregal

Post on 18-Jan-2016

331 views

Category:

Documents


2 download

DESCRIPTION

Definicion y ejercicios practicos sobre Arreglos en Fundamentos de Programacion

TRANSCRIPT

Page 1: Arreglos y Arreglos con Listas

Arrays y ArrayList

Page 2: Arreglos y Arreglos con Listas

Arrays

Page 3: Arreglos y Arreglos con Listas

Arreglo

Un arreglo en Java es un grupo de posiciones de memoria contiguas, todas las cuales tienen el mismo nombre y el mismo tipo.

Un arreglo es un agregado homogéneo ya que combina un conjunto de datos del mismo tipo.

Page 4: Arreglos y Arreglos con Listas

Declaración de arreglos Los arreglos ocupan espacio en memoria. En

java se usa el operador new para asignar espacio de almacenamiento al número de elementos requerido por cada arreglo.

Un arreglo empieza en 0, es decir, la primer localidad del arreglo es la localidad 0.

Ejemplo : int a[ ] = new int[6];

Page 5: Arreglos y Arreglos con Listas

Declaración de arreglos

Por tanto, si un arreglo tiene n componentes, la última localidad está dada por n-1.

0 n-1

n elementos

Page 6: Arreglos y Arreglos con Listas

Arreglos

Para referirnos a una posición o elemento en particular del arreglo, especificamos el nombre del arreglo y el número de posición de ese elemento en el arreglo.

Ejemplo : a[i] = 0; , a[0][3]= 9;

donde i es el índice que representa la posición dentro del arreglo donde reside el

componente a accesar.

Page 7: Arreglos y Arreglos con Listas

Arreglos multidimensionales

Se les llama así a aquellos arreglos que contienen dos o mas dimensiones.

Declaración de un arreglo de dos dimensiones: int[][] arreglo;

Creación de un arreglo de dos dimensiones: int[][] arreglo = new int[3][2];

Page 8: Arreglos y Arreglos con Listas

Arreglos una dimensión o dos dimensiones

Page 9: Arreglos y Arreglos con Listas
Page 10: Arreglos y Arreglos con Listas

Cómo recorrer un arreglo...

Los arreglos son recorridos de manera secuencial.

Los ciclos for nos sirven para esto. Observa el siguiente ejemplo donde el for

nos ayuda a elevar al cuadrado todos los elementos del arreglo:

int[] arr = {6, 2, 8, 4, 3};

for(int i = 0; i < arr.length; i++) {

arr[i] *= arr[i];

}

Page 11: Arreglos y Arreglos con Listas

…public class Arreglo {public static void main(String[] args) {int[ ] notas = new int[10]; int i=0;Scanner ingreso = new Scanner(System.in);while (i<5) {

System.out.print("Ingrese nota :");notas[i] = ingreso.nextInt(); i++;}

i=0;while (i<5) {

System.out.println("La nota es :"+ notas[i]);i++;}

} }

Page 12: Arreglos y Arreglos con Listas

Búsqueda de un elemento La búsqueda de un elemento es la

determinación de la localidad de un elemento con ciertas características.

Una salida de –1 indicaría que el elemento no se encontró.

Métodos de búsqueda Búsqueda secuencial Búsqueda binaria

Page 13: Arreglos y Arreglos con Listas

Ejercicios

1. Leer un vector de dimensión 50 y contar el número de elementos mayores al promedio

2. Dado el vector A de dimensión 1000 imprimir el menor y el mayor valor, indicando su ubicación dentro del arreglo.

3. Leer dos vectores de dimensión 50 y determinar cual de ellos tiene el promedio mayor

4. Determinar cuantas veces se repite el valor x (ingresado por teclado) en un vector A de dimensión 1000 (considere los elementos ya ingresados)

Nota: para todos los enunciados considere vectores de tipo entero

Page 14: Arreglos y Arreglos con Listas

Java collection framework

Page 15: Arreglos y Arreglos con Listas

ArrayList

Page 16: Arreglos y Arreglos con Listas

ArrayList Operaciones básicas Buscando elementos wrapper classes

Page 17: Arreglos y Arreglos con Listas

Es una de las más básicas colecciones de java

Page 18: Arreglos y Arreglos con Listas

La clase ArrayList

Class ArrayList<E> ArrayList, utilizar import java.util.*;

Page 19: Arreglos y Arreglos con Listas

arrayString[] nombres = new String[5];

nombres[0] = "Jennifer";

String nombre = nombres[0];

ArrayListArrayList<String> listaNombres = new ArrayList<String>();

listaNombres.add("Jennifer");String nombre = listaNombres.get(0);

ArrayList vs. array

Page 20: Arreglos y Arreglos con Listas

Añadiendo elementos

Los elementos son añadidos dinámicamente a la lista:ArrayList<String> lista = new

ArrayList<String>();System.out.println("lista = " + lista);lista.add(“Herramientas");System.out.println("lista = " + lista);lista.add(“Martillo");System.out.println("lista = " + lista);lista.add(“Clavos");System.out.println("lista = " + lista);

Page 21: Arreglos y Arreglos con Listas

Salida:lista = []lista = [Herramientas]lista = [Herramientas, Martillo]lista = [Herramientas, Martillo, Clavos]

Page 22: Arreglos y Arreglos con Listas

Los elements pueden tambien ser eliminados por el indice:System.out.println(“antes de eliminar = "

+ lista);lista.remove(0);lista.remove(1);System.out.println(“despues de eliminar =

" + lista);

Salida:Antes de eliminar : lista [Herramientas, Martillo, Clavos]Despues de eliminar: lista [Clavos]

Eliminando elementos

Page 23: Arreglos y Arreglos con Listas

Buscando elementos

if (lista.contains(“Martillo")) { int indice = lista.indexOf(“Martillo"); System.out.println(indice + " " +

lista.get(indice));}if (lista.contains(“Pinzas")) { System.out.println(“Pinzas está en la lista");} else { System.out.println(" Pinzas no está en la lista ");}

Page 24: Arreglos y Arreglos con Listas

Salida:1 MartilloPinzas no está en la lista

•contains si el elemento se encuentra en lista o no.•indexOf retorna el indice donde se encuentra el elemento

Page 25: Arreglos y Arreglos con Listas

Metodos ArrayList

Nombre método Descripción

add(value) adds the given value to the end of the list

add(index, value) inserts the given value before the given index

clear() removes all elements

contains(value) returns true if the given element is in the list

get(index) returns the value at the given index

indexOf(value) returns the first index at which the given element appears in the list (or -1 if not found)

lastIndexOf(value) returns the last index at which the given element appears in the list (or -1 if not found)

remove(index) removes value at given index, sliding others back

size() returns the number of elements in the list

Page 26: Arreglos y Arreglos con Listas

ArrayList y ciclo for Sintaxis:

for (<type> <name> : <collection>) {

<statement(s)>;

}

int sum = 0;for (String s : lista) { sum += s.length();}System.out.println(“Longitud total = " +

sum);

Page 27: Arreglos y Arreglos con Listas

Clases Wrapper

Los ArrayLists solo contienen objetos, y los valores primitivos no son objetos ArrayList<int> no es válido!!! Se utilizan Clases Wrapper

ejemplo:ArrayList<Integer> lista = new ArrayList<Integer>();

Primitive type

Wrapper class

int Integer

double Double

char Character

boolean Boolean

Page 28: Arreglos y Arreglos con Listas

Ejemplo Wrapper

La siguiente lista almacena valores int :ArrayList<Integer> lista = new ArrayList<Integer>();lista.add(13);lista.add(47);lista.add(15);lista.add(9);int suma = 0;for (int n : list) { sum += n;}System.out.println("lista = " + lista);System.out.println("suma = " + suma);

Salida:lista = [13, 47, 15, 9]suma = 84

index

0 1 2 3

valor 13 47 15 9

Page 29: Arreglos y Arreglos con Listas

Longitud de Arrays Vs Longitud de Cadenas

String s;s.length();

longitud=lista.length;

Page 30: Arreglos y Arreglos con Listas