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?

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
Como adicionar um item a um ArrayList?
ArrayList names = new ArrayList names. add("certification"); names. add("java");
26
Como adicionar um ítem a uma posição específica de um ArrayList?
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
Como verificar a existência de um item em um ArrayList?
names.add("certification"); names.add("java"); System.out.println(names.contains("java")); // true System.out.println(names.contains("c#")); // false
28
Como remover um item de um ArrayList?
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
Se um ArrayList tiver dois elementos iguais, ao remover um, qual será removido?
O primeiro item será removido.
30
Para que serve o método toArray() de um ArrayList?
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
Como unir duas ArrayList?
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
Como verificar se um ArrayList está vazio?
System.out.println(birds.isEmpty()); // true
33
Como limpar todos os elementos de um ArrayList?
birds.clear(); // []
34
Como mudar um elemento de um ArrayList?
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
O que faz o método equals em um ArrayList?
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
Como inicializar um ArrayList?
``` 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
Como criar uma cópia de um arrayList?
ArrayList list3 = new ArrayList(list2); // Cria uma cópia de outro arrayList. Copia tamanho e dados do array para um novo.
38
Como criar um ArrayList de um tipo especifico?
``` 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
O que acontece se não definir o tipo de dados a ser armazenado em um ArrayList?
``` 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
Como ordenar um ArrayList?
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
Qual o valor de um array não inicializado?
Aponta para null String names[]; // Aponta para null
42
Qual o valor dos itens de um valor inicializado, mas não preenchido?
Cada item recebe o valor padrão do tipo.
43
O que imprime o código abaixo? String names[] = new String[2]; System.out.println(names[1]);
null
44
O que imprime o código abaixo? int numeros[] = new int[2]; System.out.println(numeros[1]);
0
45
Qual a assinatura de um enhaced for?
for (String current : strings)
46
Como imprimir um Array sem precisar usar um laço?
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
Para que serve a classe Arrays?
A classe Arrays possui vários métodos para manipular arrays.
48
Como fazer uma busca em um Array ordenado?
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