Como utilizar o removeRange(int fromindex, int toindex) na classe Vector?

Boa noite galerinha, como dá para perceber sou iniciante :oops: nessa linguagem e tenho algumas dúvidas, aí vai a primeira delas…risos…

Por que quando eu utilizo o “removeRange(int fromindex, int toindex) na classe Vector” na classe abaixo ele me retorna esse erro :?: :?: :?:

Classe:

import java.util.Vector;
public class Exec2{
public static void main(String[] args){
Vector meuvetor = new Vector(3,1);
Integer a = new Integer(5);
Integer b = new Integer(10);
Integer c = new Integer(20);
meuvetor.insertElementAt(a, 0);
meuvetor.insertElementAt(b, 1);
meuvetor.insertElementAt(c, 2);

System.out.println("Último elemento: "+meuvetor.lastElement());
meuvetor.removeRange(1, 3);
System.out.println("Último elemento: "+meuvetor.lastElement());

}
}

Erro:

000013: removeRange(int, int) has protected access in java.util.Vector
meuvetor.removeRange(1,3);

:roll: Desde já agradeço a atenção de vcs!!! :lol:

[color=orange]Keila Freitas[/color] :smiley:

Keila, já que vc é nova, não comece errado. Use o ArrayList, não o Vector.
O Vector é desaconselhado desde o Java 1.2.

Dá uma olhada nesse tópico:
http://www.guj.com.br/posts/list/74068.java#389435

ViniGodoy, boa noite! :slight_smile:

Gostei da sua dica…risos… :smiley:
Mas o list que vc me apresentou me possibilita o dinamismo de colocar objetos diferentes dentro da list???
Por exemplo, no vector eu posso colocar um objeto Integer, outro String, outro Pessoa e assim por diante, e o List que vc me apresentou, eu também posso :?: :?: :?:

Outra coisa, eu acho realmente que o list seja melhor, ainda mais se o Vector já está em desuso desde a versão 1.2, :stuck_out_tongue: :stuck_out_tongue: mas esse trabalho é acadêmico e eu preciso terminá-lo! :cry: :cry: :cry:

Então se mesmo assim alguém puder me ajudar :oops: … eu agradeço denovo! :smiley: :smiley:

Oi, tanto o Vector quanto o ArrayList implementam a mesma interface: List.
Ou seja, o ArrayList faz tudo que o Vector faz, mas melhor.

Com ele é possível colocar objetos de vários tipos sim, como faz o Vector.

Agora, seu problema é que você não pode acessar o método removeRange do Vector. Ele foi declarado como protected. Você só pode acessar métodos public.

Obrigada ViniGodoy!!!

Oi! Desculpa a minha ignorância, mas é para aprender que estou nesse fórum!!!

Uai, por que ele foi declarado como protected???
Então como eu posso usá-lo???

Ai meu Deus, quanto mais eu rezo mais assombração me aparece!!! risos…

:roll: :roll: :roll:

Crie o seu próprio com um for e um [b]remove/b;

Tudo bem Bruno. 8)
Achar um substituto para ele não é difícil, eu até gostei da sua dica do for, não tinha pensado nisso!
Mas eu quero saber por que eu tenho o removeRange disponível pelo java e não posso utilizá-lo!!! :!:
Ou melhor por que eu tenho esse método como protected?

Gte obrigada mais uma vez pela atenção!

[color=orange]Bjuxxxx[/color] :oops:

Quando se faz um método para uma API tão utilizada quanto a do Java, se pensa umas 100 vezes.

E quando é para publicá-la, pensa-se outras 1000. Isso é por que você nunca poderá voltar atrás.

Provavelmente por ela ser protected, as subclasses do Vector tem que fazer alguma coisa a mais para suportar o método sem que ele ofereça perigo para for utilizá-lo.

Hum…então tá bom!

Gte muito obrigada pela força viu!

Mas a dúvida continua, se alguém conseguir implementar o removeRange me avisem por favor…
:cry: :frowning: :x :expressionless: :? :slight_smile: :smiley: :lol:

Bjuxxx :wink: