Boa noite galera,
Tenho o seguinte problema:
Tenho uma classe que é um vector de outra classe :
public class ProgramacaoDiaria {
private SlotProgramacao[] slots;
private int counter;
private int currentSlot;
public static final int SIZE = 31;
public ProgramacaoDiaria() {
slots = new SlotProgramacao[SIZE];
counter = 0;
currentSlot = -1;
}
private int searchIndex(Time slot) {
int i = 0;
int result = -1;
boolean found = false;
while ((i < counter) && (!found)) {
if (slots[i].equals(slot)) {
found = true;
} else {
i++;
}
if (found) {
result = i;
}
}
return result;
}
private void resize() {
SlotProgramacao tmp[] = new SlotProgramacao[2 * slots.length];
for (int i = 0; i < counter; i++) {
tmp[i] = slots[i];
}
slots = tmp;
}
public boolean hasSlotProgramacao(Time slot) {
return (searchIndex(slot) >= 0);
}
public int getNumberOfSlots() { //equivale a procurar o numero de programas num slot
return counter;
}
public void addSlotProgramacao(Time slot, int duracao, Programa programa) { //falta testar uma condicao
if (counter == slots.length) {
resize();
}
if ((!hasSlotProgramacao(slot)) /*&& (!(slots[searchIndex(slot)].equals2(slot, duracao))*/) {
slots[counter++] = new SlotProgramacao(slot, duracao, programa);
}
}
public void deleteContact(Time slot) {
slots[searchIndex(slot)] = slots[counter - 1];
counter--;
}
public void initializeIterator() {
currentSlot = 0;
}
public boolean hasNext() {
return ((currentSlot >= 0) && (currentSlot < counter));
}
public SlotProgramacao next() {
return slots[currentSlot++];
}
pronto, esta classe tem uma colecao de slots de programacao, e os respectivos metodos para buscar por um determinado slot, bem como os metodos para iterar o vector e devolver os elementos do vector. Esta classe esta a funcionar perfeitamente bem, faz tudo o que é suposto fazer, o problema vem agora:
public class ProgramacaoMensal {
private ProgramacaoDiaria[] progMensal;
private int counter;
private int currentProgMensal;
public static final int SIZE = 12;
e entao, esta classe é um vector da outra classe ... e o que eu tenho de fazer é a mesma coisa, isto é, utilizar os mesmos metodos e fazer a mesma coisa, que é no fim de tudo, listar o conteudo do vector ... ja tentei fazer de multiplas maneiras e nao consigo ... alguma ajuda como listar o conteudo deste vector?
Basicamente é um vector de outro vector ...
O meu main de testes é o seguinte:
public static void main(String[] args) {
Time t = new Time(0, 0, 0);
Time t1 = new Time(1, 14, 20);
Programa c = new Programa("Tvi", "Novela", 1, 2);
SlotProgramacao sp ;
ProgramacaoDiaria col = new ProgramacaoDiaria();
col.addSlotProgramacao(t, 20, c);
col.addSlotProgramacao(t1, 20, c);
col.addSlotProgramacao(t1, 20, c);
col.initializeIterator();
while(col.hasNext()){
sp = col.next();
System.out.println(sp.mostraSlot());
}