Arrays Flashcards
Quais as maneiras de declarar um array de tipos primitivos?
int[] age
long[] size;
double weight[];
long []size;
Como declarar um vetor e uma variável na mesma linha?
int vet1[], num;
Como declarar dois vetores na mesma linha?
int[] vet1 , vet2;
É possível declarar dois vetores de tipos diferentes na mesma linha?
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;
O que é um vetor de tamanho assimétrico?
É 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}};
Como criar um vetor assimétrico?
int [][] args = new int[4][];
Quantas dimensões tem o vetor abaixo?
int[][] table;
2
Quantas dimensões tem o array abaixo?
int[][] cube[];
3
Quantas dimensões tem o array abaixo?
int[] [][]hipercube[];
4
Quantas dimensões tem o array abaixo?
int[] vars3[];
2
Quantas dimensões tem os arrays abaixo?
int[] vars4 [], space [][];
Um array com duas dimensões e outro com três dimensões.
Quando um array de primitivos é inicializado qual valor ele recebe?
O valor padrão do tipo
O que acontece ao criar um array com tamanho zero?
int[] numbers = new int[0];
Compila e roda!
O que acontece ao criar um array com valor negativo?
int[] numbers;
numbers = new int[-1];
Compila e lança a exceção NegativeArraySizeException
Quais as duas maneiras de inicializar um array de primitivos com valores?
int[] numbers2 = new int[] {42, 55, 99};
int[] numbers2 = {42, 55, 99};
Como descobrir o tamanho de um array de tipos primitivos?
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
Como descobrir o tamanho de um vetor de Strings?
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.
Como criar e inicializar um vetor do tipo double?
double[] nums = {1,2,3,4};
System.out.println(nums.length);// 4
Como declarar um vetor de um tipo não primitivo?
Exam[] exams = new Exam[10];
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 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
Como descobrir o tamanho de um vetor de tipos não primitivos?
vetor.length();
Neste caso usa-se os parenteses.
Caso o vetor seja de um tipo primitivo não possui parenteses.
A classe ArrayList implementa uma interface. Que interface é esta?
List
Qual a diferença entre um ArrayList e um Array comum?
A diferença entre um arrayList e um array comum, é que o array simples tem tamanho fixo.
Qual classe é preciso importar para usar ArrayList?
Para usar o ArrayList, é preciso importar sua classe:
import java.util.* // import whole package including ArrayList
import java.util.ArrayList; // import just ArrayList
Como adicionar um item a um ArrayList?
ArrayList names = new ArrayList
names. add(“certification”);
names. add(“java”);
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]
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
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
Se um ArrayList tiver dois elementos iguais, ao remover um, qual será removido?
O primeiro item será removido.
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);
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
Como verificar se um ArrayList está vazio?
System.out.println(birds.isEmpty()); // true
Como limpar todos os elementos de um ArrayList?
birds.clear(); // []
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]
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
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
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.
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<>();
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]
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]
Qual o valor de um array não inicializado?
Aponta para null
String names[]; // Aponta para null
Qual o valor dos itens de um valor inicializado, mas não preenchido?
Cada item recebe o valor padrão do tipo.
O que imprime o código abaixo?
String names[] = new String[2];
System.out.println(names[1]);
null
O que imprime o código abaixo?
int numeros[] = new int[2];
System.out.println(numeros[1]);
0
Qual a assinatura de um enhaced for?
for (String current : strings)
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]
Para que serve a classe Arrays?
A classe Arrays possui vários métodos para manipular arrays.
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