A classe possui estes atributos, que da maneira que estão colocados, não eram para ser modificados pelos outros metodos:
import java.util.*;
public class Teste_Hash3 {
private final Collection<String> c;
private final List<String> list;
public Teste_Hash3(Collection<String> c, List<String> list){
//a collection deve estar vazia, e ela será
//preenchida com as strings da list
this.c = c;
c.addAll(list);
this.list =list;
}
public void verificador1(){
Collection<String> aux = c;
int tam = aux.size();
aux.add(list.get(2));
if(tam == aux.size()){
System.out.println("Esta coleção não permite a inclusão de elementos duplicados!");
}
else
{
System.out.println("Esta coleção permite a inclusão de elementos duplicados!");
}
public void verificar(){
System.out.println(c);
verificador1();
System.out.println(c);
}
Porém, quando rodo esse programa, sai:
[Janeiro, Fevereiro, Março, Abril, Maio, Fevereiro]
Esta coleção permite a inclusão de elementos duplicados!
[Janeiro, Fevereiro, Março, Abril, Maio, Fevereiro, Março]
A terceira linha deveria imprimir a mesma coisa da primeira linha, usei até um aux para não mexer diretamente com ela, mas por algum motivo, ela tambem é modificada junto com a aux.
Como fazer para ela se manter a mesma, apos a passagem do verificador1?