Guardar vários valores em uma variável

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

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);

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]} };

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

cara tu e um genio

1 curtida