elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Problema de arrays
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema de arrays  (Leído 2,649 veces)
4dr14n31t0r

Desconectado Desconectado

Mensajes: 85



Ver Perfil
Problema de arrays
« en: 19 Enero 2016, 14:28 pm »

¿Existe algun metodo equivalente a ... ?
Código:
Arrays.asList(1,2,3,4,5,6,7,8,9,0).toArray()
En otras palabras: ¿Conocen algun metodo que devuelva un array que contenga todos sus argumentos?
Algo como esto:
Código:
public static <T[]> funcionQueDevuelveArray(T... t){
return t;
}
Seria muy practico, asi que tendria que haberlo digo yo.


« Última modificación: 19 Enero 2016, 20:43 pm por 4dr14n31t0r » En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Problema de arrays
« Respuesta #1 en: 19 Enero 2016, 19:27 pm »

Tu código ya lo hace muy bien;

Código
  1. public int[] foo(int ... nums){
  2.    return nums;
  3. }
  4.  
  5. int[] Arreglo = foo(5,4,4,2,4);
  6.  

Vaya, es que no sé para qué querrías hacer eso  :huh:


En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
crack81

Desconectado Desconectado

Mensajes: 222



Ver Perfil
Re: Problema de arrays
« Respuesta #2 en: 19 Enero 2016, 19:45 pm »

Exacto yo tampoco le veo sentido si lo que quieres es inicializar un arreglo
pues basta que hagas esto

Código
  1. int []arreglo={1,2,3,4,5};

En línea

Si C/C++ es el padre de los lenguajes entonces ASM es dios.
4dr14n31t0r

Desconectado Desconectado

Mensajes: 85



Ver Perfil
Re: Problema de arrays
« Respuesta #3 en: 19 Enero 2016, 20:43 pm »

Dices que para inicializar un arreglo puedes usar
Código:
int[] i = {1,2,3,4,5,6,7,8,9,0};
Pero, ¿Te has fijado que, por ejemplo, si lo declaras e instancias en distintas lineas de ese modo te da error de compilación?
De todos modos, que no sepas para que pueda servir algo no significa que no sea util. De momento solo quiero saberlo por curiosidad.
Además,(y esto va para el tipo de mas arriba) ya se que puedo hacer un código tal que asi:
Código:
//No se porque los ingleses le llaman "foo" a las funciones que usan de ejemplo
//En los diccionarios de ingles tampoco encuentro nada =/
public <T[]> foo(T ... nums){
    return nums;
}
int[] Arreglo = foo(5,4,4,2,4);
Pero la pregunta es si YA EXISTE un metodo como ese implantado en java para no tener que crearlo una y otra vez cada vez que quiera darle uso
En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Problema de arrays
« Respuesta #4 en: 19 Enero 2016, 20:57 pm »

Nadie ha dicho que no sea útil, al menos yo no pretendía hacerlo, lo que quise decir es que no conozco cuál es la utilidad. Me gustaría conocerla, todo conocimiento viene bien.

Citar
¿Te has fijado que, por ejemplo, si lo declaras e instancias en distintas lineas de ese modo te da error de compilación?

Se puede así:

Código
  1. int[] Arreglo;
  2. Arreglo = new int[]{24,2,2};

y no veo mucha diferencia.

Suerte.
« Última modificación: 19 Enero 2016, 21:00 pm por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
4dr14n31t0r

Desconectado Desconectado

Mensajes: 85



Ver Perfil
Re: Problema de arrays
« Respuesta #5 en: 19 Enero 2016, 21:19 pm »

¡OSTRAS! ¡PUES NO LO SABIA!
Cuando lo intentaba en lineas diferentes hacia esto:
Código:
int[] i;
i = {1,2,3,4,5,6,7,8,9,0}//Error de compilación
Ahora si entiendo porque preguntabas si tenia una utilidad =D
Lo de la funcion era simplemente para hacer
Código:
int[]{1,2,3,4,5,6,7,8,9,0}
De la unica forma que se me ocurria, es decir, devolviendo el array de los argumentos de la funcion.

¿Por cierto, donde aprendiste eso? he visto muchos tutoriales en internet y en ninguno de ellos lo enseñan =/ De hecho, no sale ni en el tutorial oficial de Oracle:
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

De todos modos voy a dar este tema por zanjado, aunque todavia esta pendiente tu respuesta.
« Última modificación: 19 Enero 2016, 22:01 pm por 4dr14n31t0r » En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Problema de arrays
« Respuesta #6 en: 19 Enero 2016, 22:17 pm »

Código
  1. int[] arreglo;

Con eso te creas una referencia a un arreglo, pero solo una referencia, es decir, puede estar apuntando a nada( una referencia nula) o puede estar apuntando a un arreglo. En el caso anterior es simplemente una referencia nula.

con new puedes crear un objeto y hacer que una referencia apunte al objeto. Puedes crear tantos objetos quieras y hacer que la referencia apunte a ellos:
   
Código
  1. int[] arreglo;
  2. arreglo = new int[] {3,4,1};
  3. arreglo = new int[] {3,4,1,4,2,3};
  4. arreglo = new int[] {3,4,1,4,2,3,4,2,4,2};
          
la referencia "arreglo" se queda con el último objeto creado, pero ¿Qué pasa con los objetos anteriores? Pues java tiene algo que se llama recolector de basura y te hace el favor de eliminar los objetos que ya no estas utilizando cuando le parezca conveniente, ¿y siempre lo hace? Pues por algo java consume mucha Memoria RAM, pero no tienes que estar preocupándote de eliminar los objetos.

Esto solo es válido para los objetos, no es lo mismo con las variables primitivas int,char,float etc..
Ahora no sé si lo que escribí fue en vano, al menos creo que entenderás que un arreglo es una especie de objeto por si ya sabías el resto.


Edito: El código que no sabías es sólo una forma diferente de hacer esto;

Código
  1. // declares an array of integers
  2.        int[] anArray;
  3.  
  4.        // allocates memory for 10 integers
  5.        anArray = new int[10];
  6.  
  7.        // initialize first element
  8.        anArray[0] = 100;
  9.        // initialize second element
  10.        anArray[1] = 200;
  11.        // and so forth
  12.        anArray[2] = 300;
  13.        anArray[3] = 400;
  14.        anArray[4] = 500;
  15.        anArray[5] = 600;
  16.        anArray[6] = 700;
  17.        anArray[7] = 800;
  18.        anArray[8] = 900;
  19.        anArray[9] = 1000;

Suerte.
« Última modificación: 19 Enero 2016, 22:21 pm por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
4dr14n31t0r

Desconectado Desconectado

Mensajes: 85



Ver Perfil
Re: Problema de arrays
« Respuesta #7 en: 20 Enero 2016, 00:27 am »

Todo eso que me has dicho ya lo savia U,u
El caso es que en cada tutorial que veia me hablaban de una forma de inicializar los arrays asi:
Código:
int[] array = {1,2,3,4,5,6,7,8,9,0};
Sin embargo esta forma solo es valida cuando se inicializa al mismo tiempo que se declara. El caso es que nunca en mi vida vi algo como
Código:
new int[]{1,2,3,4,5,6,7,8,9,0};
ya que lo mas parecido que vi era
Código:
int[] array = {1,2,3,4,5,6,7,8,9,0};
Asi que te pregunto donde has visto eso porque en todos los tutoriales, incluso en el tutorial oficial de oracle, no sale algo como eso. Pero todo lo demas que dijiste ya lo sabia.
En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Problema de arrays
« Respuesta #8 en: 20 Enero 2016, 00:45 am »

Yo lo descubrí. Me puse a buscar por Internet y encontré que otras personas lo utilizan( como era de esperar, claro):
Usado en una linea
Vaya, aquí lo usan muchas veces

Suerte.
En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con arrays en C#
.NET (C#, VB.NET, ASP)
Edu 4 4,292 Último mensaje 23 Noviembre 2010, 16:08 pm
por Edu
[C++] Problema con Arrays.. « 1 2 »
Programación C/C++
Wazzp 10 5,737 Último mensaje 16 Enero 2011, 20:33 pm
por Wazzp
[C] Problema con Arrays.
Programación C/C++
edr89 6 3,281 Último mensaje 27 Mayo 2013, 20:49 pm
por leosansan
Problema con Arrays
Java
alp 0 1,239 Último mensaje 4 Mayo 2014, 02:02 am
por alp
Problema con Arrays en C (no C++)
Programación C/C++
santibarquero98 7 2,282 Último mensaje 26 Mayo 2015, 23:41 pm
por Peregring-lk
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines