Java - Principiante Java. Duda con Lista y arrays.

 
Vista:

Principiante Java. Duda con Lista y arrays.

Publicado por Nahuel (2 intervenciones) el 24/04/2020 06:42:48
Buenas noches, ante todo me presento. Soy Nahuel, y soy estudiante de informatica.
Actualmente estoy empezando a programar en Java y me han dado un codigo de una clase Lista, implementada con arrays, sobre la cual tengo que trabajar y hacer varias cosas. Pero no termino de compreder el codigo que me han dado. alguien me lo podria explicar? muchas gracias

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//********************************************************************************************************
package lista;
public class Lista<E> {
 
//esa "<E>" significa algo? es una convencion? o simplemente es parte del nombre?
 
private E lista[];
 
//aqui definite un arreglo E de tipo lista, lista no se llama el paquete?
 
 
private int indice;
private final int MAXELEM;
 
public Lista(int n) {
    lista = (E[]) new Object[n];
 
// y en esta linea ya me perdi del todo. No tengo idea que hace. lista (el paquete?) new Objetc[n] what???
 
    MAXELEM = n;
    indice = 0;
}
 
/* Agrega un elemento al final de la lista */
public void add(E e) throws IndexOutOfBoundsException {
    if (indice == MAXELEM)
        throw new IndexOutOfBoundsException("Lista llena");
    lista[indice++] = e;
}

alguien me podria explicar? Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 1.764
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Principiante Java. Duda con Lista y arrays.

Publicado por Rodrigo (480 intervenciones) el 24/04/2020 13:47:06
Es extran~o que estes comenzando a programar y te pasen este tipo de codigo que parece avanzado para un principiante.

Explicacion de 1 de los items:

Las mayusculas son relevantes. "lista" el package y "Lista" la clase son 2 nombres distintos.
Ponerle "lista" ademas al arreglo interno es un abuso, y aunque se permita tener 2 cosas distintas con exactamente el mismo nombre, no parece una buena practica.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 1.764
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Principiante Java. Duda con Lista y arrays.

Publicado por Rodrigo (480 intervenciones) el 24/04/2020 13:54:24
Explicacion de otro item:

La lista tiene que ser una lista de objetos de algun tipo. lista de enteros, o lista de alguna clase X.
Cuando se escribe el codigo de lista, se esta dando la flexibilidad al que usa la clase Lista a decidir que tipo
d
e dato se guardara adentro.

Cuando definas un objeto de la clase Lista, en verdad tendras que decidirte y especificar un tipo, asi:

1
Lista<Integer> l1 = new Lista<>();
o

1
Lista<OtraClase> l2 = new Lista<>();

Tu tienes que pensar que en todas las parte donde diga E, en realidad aparece el tipo que usuario diga al momento de definir la clase.

Al inciar la clase con <E> o sea "public class Lista<E> {" estas usando esta manera de reemplazar tipos.

Por que "E" y no "T" u otra letra? Da lo mismo el nombre del tipo, pero generalmente se usa T para indicar el tipo.
No tengo idea que otra convencion podria usarse para tomar E en vez de T.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Principiante Java. Duda con Lista y arrays.

Publicado por Nahuel (2 intervenciones) el 26/04/2020 07:18:18
Muchisimas gracias! ahora si ya tengo todo claro. Ahora sera cuestion de meterle practica nomas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar