Classe vector, uma pequena dúvida

5 respostas
brunolr

seguinte galera
tenho que desenvolver um programa de controle de turma
com controle de notas frequencia e etc
só que o problema é o seguinte
a associação que estou usando entre a classe aluno e a classe turma
é de agregação
ou seja
o aluno existe na escola independente da turma ser deletada
até ai blz
mas no trabalho, meu problema é que tenho que possibilitar ao usuario deletar o aluno da turma ou da escola
ai pra armazenar os aluno to usando a classe vector do java
e até onde eu entendo o java, é que ele é boa parte baseado em referencias e ponteiros(desculpe se falei besteira)
ou seja
como instancio antes o aluno, o que meu vector acaba guardando é um vetor de ponteiros para varios objetos aluno
então minha dúvida é a seguinte
se eu der um remove no meu vector da turma, ele deletará o ponteiro deste vetor da turma, ou deletará o objeto da memória?
porque se ele deletar realmente o objeto terei problemas quando for remover algum aluno da turma
pois ele só tem que sumir da turma e no vector da escola ele tem que continuar existindo
então a dúvida é esta
a função remove do vector, deleta o objeto da memória ou só deleta o ponteiro?

5 Respostas

hesenger

Você está fazendo persistencia disso??

Bom, mas pelo que entendi é que você armazenaria o mesmo objeto Aluno em
vários Vector, se vc apagar ele de uma das listas não interfirirá em nenhuma
das outras.

Se era isso que vc queria saber.
Qualquer coisa da um grito!!!

brunolr

a só
então o vector não deleta o objeto da memória
ele simplesmente remove aquele ponteiro
isso é bom
mas quando eu realmente precisar remove-lo fisicamente
por exemplo
quando for deletar o aluno da turma
neste caso o aluno tem que sumir realmente da memória
ai como eu faço?
dou um null no ponteiro?
vlw cara pela ajuda
abraço

hesenger

Se vc apagar ele de todas as listas (e variaveis) em que está já era.
O Garbage Collector se encarrega do resto.

Se vc der um null na posição da sua lista acho que vai deixar um item
vazio nela, e vc não deve querer fazer isso (teria que tratar muita coisa).

brunolr

a só
é verdade
ainda confundo algumas coisas de C++ com java
então ta de boa galera
vlw mesmo pela ajuda
isso vai me adiantar o trabalho
mas se vocês poderem me ajudar é uma ultima coisa fora do assunto atual
é possível limitar o tamanho máximo de uma string?
pois tenho um trabalho que tenho que controlar quantos bytes serão gravados no arquivo binário
pra isso terei que ter um tamanho fixo no meu objeto
agradeço muito pela ajuda de vocês
abraço a todos

Brn_SI

[color=#444444][b]Se eu entendi sua pergunta:

Se vc apagar o ponteiro do Objeto e este mesmo objeto nao apontar ou ser apontado de nenhum outro objeto o garbage Collector se encarregará em apagar o objeto da memoria.

vlw

abraço [/color][/b]

Criado 31 de outubro de 2008
Ultima resposta 1 de nov. de 2008
Respostas 5
Participantes 3