Queria saber como faço para guardar vários valores em uma variável de um vetor int. Por exemplo:
no vet[0] eu precisaria guardar dois números:
vet[0] = 15;
vet[0] = 2548;
Mas como faço isso sem um valor sobrescrever o outro sendo que em java não existe struct.
Já ouvi falar algo sobre ArrayList, mas o que seria isso?
ps: não posso guardar os valores de vet[0] nos outros espaços do vetor. Exemplo:
vet[1] = 15;
vet[2] = 2548;
Uma sugestão:
class Valores {
int valorA;
int valorB;
Valores(int a, int b) {
valorA = a;
valorB = b;
}
}
/* ... */
Valores[] valores = new Valores[10];
valores[0] = new Valores(15, 2548):
Outra forma seria usar um array bidimencional.
int[][] a = new int[10][10];
a[0][0] = 1;
a[0][1] = 2;
a[0][n-10] = n...
1 curtida
mate
Setembro 13, 2017, 4:31pm
#4
No caso vc deve utilizar um array, array é matriz em inglês, e um vetor nada mais é que uma matriz unidimensional.
Sabendo disso como criar:
int [] valores = {15, 2548};
Nesse caso ele ira criar um vetor de tamanho 2 com esses valores contidos.
Se vc já souber a quantidade de dados pode criar o vetor com tamanho definido e então atribuir os valores em um laço por exemplo:
int [] valores = new int[2];
valores[0] = 15;
valores[1] = 2548;
Já se não souber a quantidade de dados pode utilizar então um ArrayList (um vetor “infinito”):
ArrayList<Integer> valores = new ArrayList<Integer>();
valores.add(15);
valores.add(2548);
mate
Setembro 13, 2017, 4:47pm
#5
Mas agora que li sua pergunta mais com calma vi que vc quer guardar dois valores na mesma posição, bom se tratando de vetor int unidimensional não dá, o que vc precisa é de um Array de Arrays:
Integer[][] valores = new Integer[][] { {15,2548}, {vet[1]}, {vet[2]}, ..., {vet[x]} };
Pantrol
Outubro 21, 2020, 1:09am
#6
vc criou um vetor com classes! e possível fazer o mesmo com métodos?
Daria pra fazer algo parecido usando uma interface funcional e method references assim:
public class Main {
private static interface MyMethod {
void doSomething();
}
public static void main(String... args) {
MyMethod[] methods = new MyMethod[3];
methods[0] = Main::methodA;
methods[1] = Main::methodB;
methods[2] = Main::methodC;
for (MyMethod method : methods)
method.doSomething();
}
private static void methodA() {
System.out.println("methodA");
}
private static void methodB() {
System.out.println("methodB");
}
private static void methodC() {
System.out.println("methodC");
}
}
1 curtida