Autor
|
Tema: Leer un arreglo sin tomar en cuenta sus valores por defecto (Leído 6,203 veces)
|
Beginner Web
Desconectado
Mensajes: 634
youtu.be/0YhflLRE-DA
|
Hola tengo un arreglo de 10 posiciones donde solo coloque valores en las 4 primeras y quiero recorrer el arreglo pero sin leer los valores por defecto que son los 0, como hago o no se puede? int arreglo[] = new int[10]; arreglo[0] = 1; arreglo[1] = 2; arreglo[2] = 3; arreglo[3] = 4; for (int i = 0; i < arreglo.length; i++) { }
|
|
|
En línea
|
7w7
|
|
|
rub'n
Desconectado
Mensajes: 1.217
(e -> λ("live now")); tatuar -> λ("α");
|
Hola tengo un arreglo de 10 posiciones donde solo coloque valores en las 4 primeras y quiero recorrer el arreglo pero sin leer los valores por defecto que son los 0, como hago o no se puede? int arreglo[] = new int[10]; arreglo[0] = 1; arreglo[1] = 2; arreglo[2] = 3; arreglo[3] = 4; for (int i = 0; i < arreglo.length; i++) { }
No entendí muy bien, quieres recorrer las posiciones menos la posición cero, o no imprimir los valores que sean iguales a cero? , O sea, filtrar?
|
|
|
En línea
|
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
|
|
|
Beginner Web
Desconectado
Mensajes: 634
youtu.be/0YhflLRE-DA
|
Si, solo quiero leer las posiciones donde ingrese valores, las otras no
|
|
|
En línea
|
7w7
|
|
|
rub'n
Desconectado
Mensajes: 1.217
(e -> λ("live now")); tatuar -> λ("α");
|
Si, solo quiero leer las posiciones donde ingrese valores, las otras no for(int f=0; f<4; f++)
No tengas miedo a probar Chavalina , desde 0 para incluir ese Index, y hasta menos 4 para no incluir la posición 5
|
|
« Última modificación: 25 Abril 2019, 15:57 pm por rub'n »
|
En línea
|
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
|
|
|
WHK
|
En ese caso no sería mejor utilizar un objeto de tipo List<> en ves de un array nativo?, de esa manera puedes tener objetos nulos, donde el valor por defecto sea nulo y dentro del for dices que si el valor no es nulo entonces se procesará, de esa manera no dependerás de la cantidad de valores que llenes, esto funciona solo si usas los objetos de Java en ves de los primitivos, por ejemplo List<Integer> list; , incluso puedes utilizar lambda.
Saludos.
|
|
|
En línea
|
|
|
|
Beginner Web
Desconectado
Mensajes: 634
youtu.be/0YhflLRE-DA
|
Claro, ahí si funcionaría ¿Así, verdad? ArrayList<Integer> arreglo = new ArrayList<>(); arreglo.add(1); arreglo.add(2); arreglo.add(3); for (int i : arreglo) { if (Objects.nonNull(i)) { } }
¿Por qué no funciona si coloco en el ArrayList<int> en lugar de ArrayList<Integer>??? Ya veo que no funcionará con el arreglo simple
|
|
« Última modificación: 25 Abril 2019, 19:11 pm por Beginner Web »
|
En línea
|
7w7
|
|
|
rub'n
Desconectado
Mensajes: 1.217
(e -> λ("live now")); tatuar -> λ("α");
|
Claro, ahí si funcionaría ¿Así, verdad? ¿Por qué no funciona si coloco en el ArrayList<int> en lugar de ArrayList<Integer>
??? ArrayList<Integer> arreglo = new ArrayList<>(); arreglo.add(1); arreglo.add(2); arreglo.add(3); for (int i : arreglo) { if (Objects.nonNull(i)) { } }
Y con lo del arreglo comun, ya veo que no funcionará Lee un poco más detallado el mensaje de WHK , mejor dicho el gran WHK, porque las listas genéricas funcionan únicamente con Objetos,. El objeto que representa al primitivo int, es Interger, o sea, la clase envoltoria(wrapper) es Integer. Ese for que usas en la línea 6 carece de índice, se llama for extendidoUsa el for normal que si tiene índice. for(int f=0; f<arreglo.size(); f++)
Edito, ambos for sirven, pero cada uno para una cosa, todo depende lo que quieras hacer, Con el arreglo normal puedes usar el for normal, Stream, IntStream, Arrays.stream Recuerda también que las clases van en mayúsculas, o sea, Double, Integer, Boolean, Long etc... Nomenclatura camel case
|
|
« Última modificación: 25 Abril 2019, 19:29 pm por rub'n »
|
En línea
|
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
|
|
|
Beginner Web
Desconectado
Mensajes: 634
youtu.be/0YhflLRE-DA
|
Haaaaaaaaaaa!!! ArrayList<Integer> lista = new ArrayList<>(); lista.add(1); lista.add(2); lista.add(3); for (int i=0; i<lista.size(); i++) { if (Objects.nonNull(i)) { } }
|
|
« Última modificación: 25 Abril 2019, 19:40 pm por Beginner Web »
|
En línea
|
7w7
|
|
|
rub'n
Desconectado
Mensajes: 1.217
(e -> λ("live now")); tatuar -> λ("α");
|
Tú me recuerdas tanto a las primillas mias
|
|
|
En línea
|
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
|
|
|
WHK
|
Con lamda no necesitas iteraciones: lista.stream().filter(Objects::nonNull).reduce((k, v) -> v); Esto retorna todos los valores no nulos, incluso puedes aplicar funciones de llamada syncrónica dentro de lambda para procesar cada valor sin iteraciones. Claramente internamente la JVM realiza iteraciones, pero se hace a bajo nivel, el performance es mucho mejor. De todas maneras por mas que lo pienso no encuentro sentido alguno tener un listado vacio de items y menos aun cuando la pila se vuelve muy grande. Saludos.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Que valores puede tomar la KEY y IV?
.NET (C#, VB.NET, ASP)
|
Skeletron
|
2
|
2,948
|
4 Marzo 2009, 03:58 am
por Skeletron
|
|
|
tomar valores del log o de un txt con ollyscript?
Ingeniería Inversa
|
.:UND3R:.
|
4
|
2,979
|
24 Octubre 2011, 03:16 am
por .:UND3R:.
|
|
|
Tomar valores hex de memoria con OllyScript??
Ingeniería Inversa
|
.:UND3R:.
|
4
|
3,657
|
15 Noviembre 2011, 19:06 pm
por MCKSys Argentina
|
|
|
Valores repetidos en un arreglo en C
Programación C/C++
|
RGT
|
3
|
4,841
|
31 Marzo 2015, 04:10 am
por engel lex
|
|
|
programa q cuenta cuantas palabras tienen 4 letras y termina de leer un arreglo
Programación C/C++
|
masterkeyes
|
4
|
4,878
|
24 Agosto 2015, 02:04 am
por geeke
|
|