Arrays Flashcards

1
Q

Quais as maneiras de declarar um array de tipos primitivos?

A

int[] age
long[] size;
double weight[];
long []size;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Como declarar um vetor e uma variável na mesma linha?

A

int vet1[], num;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Como declarar dois vetores na mesma linha?

A

int[] vet1 , vet2;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

É possível declarar dois vetores de tipos diferentes na mesma linha?

A

Não
É possível declarar dois vetores de tipos iguais na mesma linha.
int[] vet1 , vet2;

Ou até mesmo um vetor e uma variável de tipos iguais.
int vet1[], num;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

O que é um vetor de tamanho assimétrico?

A

É um vetor com um tamanho variável de linha e coluna.
int [][] args = new int[4][];
args[0] = new int[3];
args[1] = new int[5];

Pode ser inicializado diretamente também:
int[][] differentSize = {{1, 4}, {3}, {9,8,7}};

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Como criar um vetor assimétrico?

A

int [][] args = new int[4][];

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quantas dimensões tem o vetor abaixo?

int[][] table;

A

2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quantas dimensões tem o array abaixo?

int[][] cube[];

A

3

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quantas dimensões tem o array abaixo?

int[] [][]hipercube[];

A

4

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quantas dimensões tem o array abaixo?

int[] vars3[];

A

2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Quantas dimensões tem os arrays abaixo?

int[] vars4 [], space [][];

A

Um array com duas dimensões e outro com três dimensões.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Quando um array de primitivos é inicializado qual valor ele recebe?

A

O valor padrão do tipo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

O que acontece ao criar um array com tamanho zero?

int[] numbers = new int[0];

A

Compila e roda!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

O que acontece ao criar um array com valor negativo?

int[] numbers;
numbers = new int[-1];

A

Compila e lança a exceção NegativeArraySizeException

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Quais as duas maneiras de inicializar um array de primitivos com valores?

A

int[] numbers2 = new int[] {42, 55, 99};

int[] numbers2 = {42, 55, 99};

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Como descobrir o tamanho de um array de tipos primitivos?

A

array.lenght;
Sem parenteses pois é uma variável

Funciona com qualquer array de tipo primitivo, incluindo string.

String[] vetor = {“Saulo”,”Manolo”,”Teste”};
System.out.println(vetor.length); // 3

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Como descobrir o tamanho de um vetor de Strings?

A

String[] vetor = {“Saulo”,”Manolo”,”Teste”};
System.out.println(vetor.length); // 3

String[] birds = new String[6];
System.out.println(birds.length); // 6

Observe que o length para arrays de tipos primitivos não possui parenteses.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Como criar e inicializar um vetor do tipo double?

A

double[] nums = {1,2,3,4};

System.out.println(nums.length);// 4

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Como declarar um vetor de um tipo não primitivo?

A

Exam[] exams = new Exam[10];

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Qual a diferença entre os dois as duas linhas?

String[] vetor = {“Saulo”,”Manolo”,”Teste”};
System.out.println(vetor.length);
System.out.println(vetor[0].length());

A

A primeira imprime o tamanho do vetor. length neste caso não é um método.
System.out.println(vetor.length); // 3

A segunda imprime o tamanho do primeiro item do vetor.
System.out.println(vetor[0].length());// 5

21
Q

Como descobrir o tamanho de um vetor de tipos não primitivos?

A

vetor.length();

Neste caso usa-se os parenteses.
Caso o vetor seja de um tipo primitivo não possui parenteses.

22
Q

A classe ArrayList implementa uma interface. Que interface é esta?

A

List

23
Q

Qual a diferença entre um ArrayList e um Array comum?

A

A diferença entre um arrayList e um array comum, é que o array simples tem tamanho fixo.

24
Q

Qual classe é preciso importar para usar ArrayList?

A

Para usar o ArrayList, é preciso importar sua classe:

import java.util.* // import whole package including ArrayList

import java.util.ArrayList; // import just ArrayList

25
Q

Como adicionar um item a um ArrayList?

A

ArrayList names = new ArrayList

names. add(“certification”);
names. add(“java”);

26
Q

Como adicionar um ítem a uma posição específica de um ArrayList?

A

List birds = new ArrayList<>();
birds.add(“hawk”); // [hawk]
birds.add(1, “robin”); // [hawk, robin]
birds.add(0, “blue jay”); // [blue jay, hawk, robin]
birds.add(1, “cardinal”); // [blue jay, cardinal, hawk, robin]
System.out.println(birds); // [blue jay, cardinal, hawk, robin]

27
Q

Como verificar a existência de um item em um ArrayList?

A

names.add(“certification”);
names.add(“java”);
System.out.println(names.contains(“java”)); // true
System.out.println(names.contains(“c#”)); // false

28
Q

Como remover um item de um ArrayList?

A

Utilizando o metodo remove();

O método remove possui dois construtores. Um retorna um boolean, e outro retorna o objeto removido.

System.out.println(birds.remove(“hawk”)); // prints true
System.out.println(birds.remove(0)); // prints hawk

29
Q

Se um ArrayList tiver dois elementos iguais, ao remover um, qual será removido?

A

O primeiro item será removido.

30
Q

Para que serve o método toArray() de um ArrayList?

A

Converte um ArrayList em um Array.

List list =newArrayList();

list. add(newCustom(1));
list. add(newCustom(2));

Custom[] customs =newCustom[list.size()];
list.toArray(customs);
31
Q

Como unir duas ArrayList?

A

addAll Permite unir duas coleções em uma terceira coleção ainda maior.

ArrayList names = new ArrayList();

names. add(“certification”);
names. add(“java”);

ArrayList countries = new ArrayList();

countries. add(“korea”);
countries. add(“brazil”);

ArrayList everything = new ArrayList();
everything.addAll(names);
everything.addAll(countries);
System.out.println(everything.size()); // 4

32
Q

Como verificar se um ArrayList está vazio?

A

System.out.println(birds.isEmpty()); // true

33
Q

Como limpar todos os elementos de um ArrayList?

A

birds.clear(); // []

34
Q

Como mudar um elemento de um ArrayList?

A

O método set muda o valor de um elemento, mas não aumenta o tamanho do vetor.
Ele substitui um elemento por outro.

birds. add(“hawk”); // [hawk]
birds. set(0, “robin”); // [robin]

35
Q

O que faz o método equals em um ArrayList?

A

Compara se duas listas contem os mesmos elementos e na mesma ordem:

List one = new ArrayList<>();
List two = new ArrayList<>();
System.out.println(one.equals(two)); // true
one.add(“a”); // [a]
System.out.println(one.equals(two)); // false
two.add(“a”); // [a]
System.out.println(one.equals(two)); // true
one.add(“b”); // [a,b]
two.add(0, “b”); // [b,a]
System.out.println(one.equals(two)); // false

36
Q

Como inicializar um ArrayList?

A
ArrayList list1 = new ArrayList(); // Cria um array mas não preenche seus slots
ArrayList list2 = new ArrayList(10); // Cria um array com um numero especifico de slots, mas não assina nenhum deles
ArrayList list3 = new ArrayList(list2); // Cria uma cópia de outro arrayList. Copia tamanho e dados do array para um novo.
A partir do java 5 se tornou possivel definir o tipo que o array irá armazenar:
ArrayList list4 = new ArrayList();
ArrayList list5 = new ArrayList<>();

Como arrayList implementa a interface List, é possível armazenar um arrayList dentro de um List.
List list6 = new ArrayList<>();
ArrayList list7 = new List<>(); // DOES NOT COMPILE

37
Q

Como criar uma cópia de um arrayList?

A

ArrayList list3 = new ArrayList(list2); // Cria uma cópia de outro arrayList. Copia tamanho e dados do array para um novo.

38
Q

Como criar um ArrayList de um tipo especifico?

A
A partir do java 5 se tornou possivel definir o tipo que o array irá armazenar:
ArrayList list4 = new ArrayList();
ArrayList list5 = new ArrayList<>();
39
Q

O que acontece se não definir o tipo de dados a ser armazenado em um ArrayList?

A
Se não for definido o tipo do Array, ele vai aceitar objetos de todos os tipos:
ArrayList list = new ArrayList();
list.add("hawk"); // [hawk]
list.add(Boolean.TRUE); // [hawk, true]
System.out.println(list); // [hawk, true]
40
Q

Como ordenar um ArrayList?

A

Para ordenar um ArrayList, você deve usar uma classe auxiliar.

List numbers = new ArrayList<>();
numbers.add(99);
numbers.add(5);
numbers.add(81);
Collections.sort(numbers);
System.out.println(numbers); //[5, 81, 99]
41
Q

Qual o valor de um array não inicializado?

A

Aponta para null

String names[]; // Aponta para null

42
Q

Qual o valor dos itens de um valor inicializado, mas não preenchido?

A

Cada item recebe o valor padrão do tipo.

43
Q

O que imprime o código abaixo?

String names[] = new String[2];
System.out.println(names[1]);

A

null

44
Q

O que imprime o código abaixo?

int numeros[] = new int[2];
System.out.println(numeros[1]);

A

0

45
Q

Qual a assinatura de um enhaced for?

A

for (String current : strings)

46
Q

Como imprimir um Array sem precisar usar um laço?

A

Java possui um metodo para imprimir um Array:

int[] ages = {1,2,3,4,5};
System.out.println(java.util.Arrays.toString(ages)); // [1, 2, 3, 4, 5]

47
Q

Para que serve a classe Arrays?

A

A classe Arrays possui vários métodos para manipular arrays.

48
Q

Como fazer uma busca em um Array ordenado?

A

Usando o método binarySearch da classe Arrays.

Este método faz buscas em arrays que estejam ordenados.
Caso o array não esteja ordenado, o resultado é imprevisível.

Retorna um valor negativo caso não encontre o elemento.

int[] numbers = {2,4,6,8};
System.out.println(Arrays.binarySearch(numbers, 2)); // 0
System.out.println(Arrays.binarySearch(numbers, 4)); // 1
System.out.println(Arrays.binarySearch(numbers, 1)); // -1
System.out.println(Arrays.binarySearch(numbers, 3)); // -2
System.out.println(Arrays.binarySearch(numbers, 9)); // -5