Queria saber? Como insiro um ArrayList dentro de uma função?
Exemplo:
Arr_add(Array, texto);
Eu quero retornar o Array sem repetir duas vezes a palavra Array.
Exemplo:
Array = Arr_add(Array, texto);
Veja o código abaixo:
import java.util.ArrayList;
public class xMain {
public static void main(String[] args) {
//ArrayList
//add(Object o): adiciona à coleção o objeto passado como argumento.
//size(): retorna o tamanho da coleção
//get(int index): retorna um objeto dada uma posição.
ArrayList<String> frutas1 = new ArrayList<String>();
// adiciona itens na lista
frutas1.add("Banana");
frutas1.add("Melão");
frutas1.add("Goiaba");
frutas1.add("Morango");
// exibe os valores da lista
for(int i = 0; i < frutas1.size(); i++){
System.out.println(frutas1.get(i));
}
System.out.println();
//add(int index, Object element): adiciona um objeto dada uma posição.
ArrayList<String> frutas2 = new ArrayList<String>();
// adiciona itens na lista
frutas2.add("Banana");
frutas2.add("Melão");
frutas2.add("Goiaba");
frutas2.add("Morango");
frutas2.add(1, "======");
// exibe os valores da lista
for(int i = 0; i < frutas2.size(); i++){
System.out.println(frutas2.get(i));
}
System.out.println();
//set(int index, Object element): edita um objeto dada uma posição.
ArrayList<String> frutas3 = new ArrayList<String>();
// adiciona itens na lista
frutas3.add("Banana");
frutas3.add("Melão");
frutas3.add("Goiaba");
frutas3.add("Morango");
frutas3.set(1, "======");
// exibe os valores da lista
for(int i = 0; i < frutas3.size(); i++){
System.out.println(frutas3.get(i));
}
System.out.println();
//remove(int index): remove um objeto dada sua posição.
ArrayList<String> frutas4 = new ArrayList<String>();
// adiciona itens na lista
frutas4.add("Banana");
frutas4.add("Melão");
frutas4.add("Goiaba");
frutas4.add("Morango");
frutas4.remove(1);
// exibe os valores da lista
for(int i = 0; i < frutas4.size(); i++){
System.out.println(frutas4.get(i));
}
System.out.println();
//clear(): apaga todo o conteúdo da coleção.
ArrayList<String> frutas5 = new ArrayList<String>();
// adiciona itens na lista
frutas5.add("Banana");
frutas5.add("Melão");
frutas5.add("Goiaba");
frutas5.add("Morango");
frutas5.clear();
// exibe os valores da lista
for(int i = 0; i < frutas5.size(); i++){
System.out.println(frutas5.get(i));
}
System.out.println();
//boolean contains(Object o): verifica se o objeto passado como argumento existe na coleção.
ArrayList<String> lista1 = new ArrayList<String>();
lista1.add("Jose");
lista1.add("Maria");
System.out.println(lista1.contains("Jose")); // True
System.out.println();
//Object[ ] toArray(): converte os elementos da coleção em um array (rápidos acesso aos elementos).
ArrayList<String> lista2 = new ArrayList<String>();
lista2.add("Jose");
lista2.add("Maria");
lista2.add("Joao");
Object[] elementos2 = lista2.toArray();
for(int i=0; i<elementos2.length;i++) {
System.out.println(elementos2[i]);
}
System.out.println();
//int indexOf (Object o): retorna a posição de um objeto.
ArrayList<String> lista3 = new ArrayList<String>();
lista3.add("Jose");
lista3.add("Maria");
lista3.add("João");
System.out.println(lista3.indexOf("Maria")); //1
System.out.println();
//int lastIndexOf (Object o): retorna o último índice de um objeto.
ArrayList<String> lista4 = new ArrayList<String>();
lista4.add("Jose");
lista4.add("Maria");
lista4.add("João");
lista4.add("Maria");
System.out.println(lista4.lastIndexOf("Maria")); //3
System.out.println();
}
}
No seu código, que parece ser algo que você está fazendo para estudar, você está testando e documentando os métodos da classe ArrayList, certo?
Não entendi exatamente o que você quer fazer. O que você está chamando de função? Você quer criar um método que adicione um elemento no ArrayList, desde que ele não exista? Fica difícil de ajudar se você não consegue explicar o que precisa ou quer fazer.
//set(int index, Object element): edita um objeto dada uma posição.
ArrayList<String> frutas3 = new ArrayList<String>();
// adiciona itens na lista
frutas3.Arr_add("Banana");
frutas3.Arr_add("Melão");
frutas3.Arr_add("Goiaba");
frutas3.Arr_add("Morango");
frutas3.Arr_set(1, "======");
// exibe os valores da lista
for(int i = 0; i < frutas3.Arr_size(); i++){
System.out.println(frutas3.Arr_get(i));
}
Ou melhor ainda? Quero deste geito?
//set(int index, Object element): edita um objeto dada uma posição.
ArrayList<String> frutas3 = new ArrayList<String>();
// adiciona itens na lista
Arr_add(frutas3, "Banana");
Arr_add(frutas3, "Melão");
Arr_add(frutas3, "Goiaba");
Arr_add(frutas3, "Morango");
Arr_set(frutas3, 1, "======");
// exibe os valores da lista
for(int i = 0; i < Arr_size(frutas3); i++){
System.out.println(Arr_get(frutas3, i));
}
Estou desenvolvendo o projeto Open Source Megusta vai facilitar a vida do Programador!
União das linguagens de programação Java, Javascript, PHP, Python, Clipper, Rust, C/C++, ASSEMBLY e WebAssembly.
Veja o link abaixo: https://iatagancursos.github.io/Megusta/pagina-principal.html
Outra coisa não relacionada: vi que no seu projeto vc usa java.util.Calendar para datas e horas. Mas essa API está ultrapassada, pois desde o Java 8 (lançado em 2014) existe uma API nova e muito melhor, o java.time.
Como é que crio um método que insere uma lista infinita de Array, numa única função?
Exemplo:
public void arrAddAll(List<String> lista, String valor) {
Collections.addAll(lista, valor);
}
Resultado:
List<String> frutasx = new ArrayList<>();
// adiciona itens na lista
arrAddAll(frutasx, "Banana", "Melão", "Goiaba", "Morango");
// exibe os valores da lista
for(int i = 0; i < r.arrSize(frutasx); i++){
System.out.println(r.arrGet(frutasx, i));
}
Uma última dúvida?
Como converto função infinita no exemplo abaixo?
public double mathMaxArr(double ... numero){
return Math.max(numero);
}
public double mathMinArr(double ... numero){
return Math.min(numero);
}
Resultado:
//Math.max
// Encontrar o máximo entre dois números de ponto flutuante
maximoDouble = r.mathMaxArr(15.5, 12.3, 10.8, 14.6);
System.out.println("Máximo entre 15.5, 12.3, 10.8, 14.6 = " + maximoDouble);
//Math.min
// Encontrar o mínimo entre dois números de ponto flutuante
minimoDouble = r.mathMinArr(15.5, 12.3, 10.8, 14.6);
System.out.println("Mínimo entre 15.5, 12.3, 10.8, 14.6 = " + minimoDouble);
public static double max(double... values) {
return Arrays.stream(values).max().getAsDouble();
}
Ou fazer manualmente:
public static double max(double... values) {
double max = values[0];
for (int i = 1; i < values.length; i++) {
if (values[i] > max) {
max = values[i];
}
}
return max;
}
E isso não se chama “função infinita”. Este recurso de ter uma quantidade variável de argumentos se chama varargs.
De qualquer forma, em computação nada é infinito. Existem limites para tudo, inclusive para varargs.