Inserir elemento na primeira posição de um String[]

Boa tarde.
Como faço para inserir uma String na primeira posição de um array de String(String[]) ???´
Esta minha lista já está preenchida com valores, porém quero inserir mais um, só que no começo (posição 0).
Alguma sugestão?

Detalhe: não quero perder nenhum valor que já tenho inserido dentro dele.
Só quero adicionar mais um na primeira posição (posição 0).

[quote=criador]Boa tarde.
Como faço para inserir uma String na primeira posição de um array de String(String[]) ???´
Esta minha lista já está preenchida com valores, porém quero inserir mais um, só que no começo (posição 0).
Alguma sugestão?[/quote]

Cara, eu nao entendi seu problema.

Vc quer inserir num elemento já preenchido, tipo jogar a posição 0 fora e alocar um novo valor?

Ou quer empurrar todo mundo (o 0 vira 1, o 1 vira 2, o 2 vira 3 e etc e o novo item vira 0)?

É o que o amigo de cima falou, empurra todo mundo pra frente :smiley:

Extamente…quero empurrar cada valor uma posição pra frente.
O 0 vira 1, o 1 vira 2, etc…e depois inserir um valor para a posição 1.
:wink:

CORRIGINDO:

Extamente…quero empurrar cada valor uma posição pra frente.
O 0 vira 1, o 1 vira 2, etc…e depois inserir um valor para a posição 0 e não 1.

Use System.arrayCopy para mover os elementos do array uma posição para cima.

bem se vc tiver posições vazias no final, joia…
se não tiver, a ultima posição vai p beleleu, ok?
se vc nao puder mesmo fazer perder nada, é melçhor criar um outro array com tamanho n+1 do array original, e povoar ele com os dados.

[code]//caso 01
//suponho q o nome do [] seja arrayString

for (int i=0;i<arrayString;i++){
arrayString[i+1]=arrayString[i];
}
arrayString[0] = “novaString”;

//caso02
String [] novoArray = new String[arrayString.length()+1];
novoArray[0] = “novaString”;

for (int i=1;i<novoArray;i++){
novoArray[i]=arrayString[i];
}

[/code]

Beleza, então já sabe o que fazer. :slight_smile:
Você pode fazer da maneira direta ou da maneira inversa. Boa codificação.

[color=white] nada de código pronto menino[/color]

Até!

se der pra substituir o array de string…

vc pode usar StringBuilder… ele possui o método insert, q vc fala a posição (0 based) e insere uma string…

abraços

uma lista já faz isso tudo sozinha. ¬¬

Faz o seguinte…

String novoValor = "novo valor";

//ArrayList Original
ArrayList<String> a = Valores do array;

//ArrayList Novo
ArrayList<String> b = new ArrayList<String>();
b.add(novoValor);

//Agora vc adiciona o arraylist a ao b, tem um método pra isto, mas eu não me lembro hehehehe.

Essa de repente pode não ser a solução mais eficiente, mas acho que é uma bem simples.

Galera, valeu a força ai.
Consegui fazer com um pouco de cada código. :wink:
Abraços a todos

A solução que o thingol apresentou é a mais eficiente de todas. O System.arraycopy é implementado nativamente dentro da JVM.

Ah, existe mais uma opção muito boa:

Arrays.copyOf e Arrays.copyOfRange. Funciona com tipos genéricos.