CodeGym /Blogue Java /Random-PT /Matriz de strings em Java
John Squirrels
Nível 41
San Francisco

Matriz de strings em Java

Publicado no grupo Random-PT
Freqüentemente, a primeira estrutura de dados com a qual um programador iniciante se familiariza é um array. Isso ocorre porque os arrays são bastante fáceis de aprender. Uma matriz unidimensional é uma sequência que consiste em um número fixo de células nas quais os dados podem ser armazenados. No caso da linguagem Java, você pode armazenar apenas um tipo de dados em um array. Em outras palavras, os arrays em Java são homogêneos. As células da matriz podem conter objetos de qualquer tipo. Você pode colocar objetos de qualquer tipo, primitivo ou objeto, em um array. Hoje veremos arrays de strings na linguagem Java, ou seja, arrays em que cada elemento é uma string. Descobriremos como declarar Java String Array e como trabalhar com ele.

Como declarar e inicializar um String Array

Você pode declarar e inicializar um array String em Java de diferentes maneiras. Por exemplo, como no código abaixo:
String[] myArray = {"value1", "value2", "value3"};
Aqui primeiro declaramos uma variável myArray do tipo String[] . Posteriormente, inicializamos o array com três valores de string entre chaves. Alternativamente, você pode ter a declaração e inicialização do array String em linhas separadas:
String[] myArray; // String array declaration
myArray = new String[] {"value1", "value2", "value3"}; // initialize the array
Aqui temos o mesmo resultado do primeiro trecho de código, mas separamos a declaração e a inicialização em duas etapas. Além disso, você pode inicializar um array apenas com tamanho, como aqui abaixo:
String[] myArray = new String[5];
Aqui você cria um array String e especifica o tamanho do array String , mas não fornece nenhum valor inicial. Você pode então atribuir valores à matriz usando um loop ou especificando os valores individualmente. Observe que em todos os casos, você deve especificar o tipo do array (neste caso, String ) ao declarar a variável.

Como iterar pelo array String

Em Java você pode iterar através de um array String usando um loop. Pode ser uma construção for ou foreach. Vejamos um exemplo que usa os dois tipos de loops:
public class IterateStringArrayExample {
    public static void main(String[] args) {
        String[] stringArray = {"violin", "viola", "cello", "double bass"};

        // Using a for loop
        for (int i = 0; i < stringArray.length; i++) {
            String s = stringArray[i];
            System.out.print(s + " ");
        }
        System.out.println();

        // Using a foreach loop
        for (String s : stringArray) {
            System.out.print(s + " ");
        }
        System.out.println();
    }
}
Aqui primeiro criamos um array String chamado stringArray com quatro elementos (instrumentos musicais String). Em seguida, ambos os loops iteram cada elemento da matriz de strings e os imprimem no console. O loop foreach é uma maneira mais concisa de iterar em um array, mas o loop for pode ser útil se você precisar acessar o índice de cada elemento. A saída deste programa será:
violino viola violoncelo contrabaixo violino viola violoncelo contrabaixo

Como adicionar um novo elemento ao Array

Você não pode simplesmente adicionar um novo elemento a um array em Java. No entanto, Java tem truques especiais para isso. Se você tiver um array de strings e precisar adicionar uma nova string ao final do array, use o método Arrays.copyOf . Este método cria um novo array com um elemento extra e, em seguida, adiciona o novo elemento ao final do novo array. Aqui está um exemplo:
//add string Array and a new element
String[] oldArray = {"violin", "viola", "cello"};
String newElement = "double bass";
String[] newArray = Arrays.copyOf(oldArray, oldArray.length + 1);
newArray[newArray.length - 1] = newElement;
Aqui, o método Arrays.copyOf cria um novo array chamado newArray com um comprimento maior que o oldArray. O método adiciona newElement ao final do newArray atribuindo-o ao último elemento do newArray . Arrays em Java têm comprimento fixo, portanto você não pode adicionar ou remover elementos de um array depois de criado. Para adicionar ou remover dinamicamente elementos de uma coleção, é melhor usar outra estrutura de dados. Por exemplo, um List ou um Map .

Como classificar elementos em String Array

Claro, se você estiver interessado em bons exercícios de programação, poderá escrever seu algoritmo de classificação para o procedimento de classificação. No entanto, em tarefas reais de trabalho é muito mais fácil usar o método Arrays.sort() . Aqui está um exemplo:
import java.util.Arrays;

public class SortStringArrayExample {
    public static void main(String[] args) {
        String[] stringArray = {"violin", "viola", "cello", "double bass"};

        // Sorting the array
        Arrays.sort(stringArray);

        // Printing the sorted array
        for (String s : stringArray) {
            System.out.print(s + " ");
        }
    }
}
Aqui, primeiro criamos um array String chamado stringArray com quatro elementos. Em seguida, chamamos o método Arrays.sort() para classificar os elementos do array em ordem crescente. Finalmente, iteramos pelo array classificado usando um loop for-each e imprimimos cada elemento no console. A saída deste programa é a seguinte:
violoncelo contrabaixo viola violino
Como você pode ver, o método classificou os elementos no stringArray em ordem alfabética.

Como pesquisar uma String específica no array String

Para procurar uma String necessária em um array String em Java, você pode usar um loop para iterar cada elemento do array e compará-lo com a String que você está procurando. Aqui está um exemplo de programa:
public class SearchString {

       public static void main(String[] args) {
           String[] stringArray = {"violin", "viola", "cello", "double bass"};
           String searchString1 = "cello";
           String searchString2 = "piano";
           search(stringArray, searchString1);
           search(stringArray, searchString2);

       }
          public static boolean search (String[] myArray, String myString){

           boolean found = false;

           // Loop through the array to search for the string
           for (String s : myArray) {
               if (s.equals(myString)) {
                   found = true;
                   break;
               }
           }

           // Print the result
           if (found) {
               System.out.println(myString + " found in the array.");
           } else {
               System.out.println(myString + " not found in the array.");
           } return found;
       }
}
Aqui estamos criando um método com dois argumentos, um array e uma string a serem encontrados. Criamos um booleano 'found' para rastrear se encontramos String . É o valor encontrado que o método retornará. Em seguida, usamos um loop for-each para iterar sobre cada elemento do array. Usamos o método equals() no loop para comparar o elemento atual com a string de pesquisa. Se o método encontrar uma correspondência, definimos como verdadeiro e usamos a instrução break para sair do loop mais cedo. Por fim, imprimimos o resultado dependendo se o encontrado é verdadeiro ou falso. No método principal , chamamos o método de busca duas vezes, com a String que está no array e a que não está. A saída deste programa é a seguinte:
violoncelo encontrado na matriz. piano não encontrado na matriz.

Como converter array de string em string

Você pode usar o método String.join() para converter um array String em String em Java. Este método retorna uma string concatenada pelo delimitador fornecido. O delimitador é copiado para cada elemento no método String join() . Aqui está um exemplo:
String[] myArray = {"value1", "value2", "value3"};
String joinedString = String.join(", ", myArray);
System.out.println(joinedString);
A saída é a seguinte:
valor1, valor2, valor3
Primeiro, declaramos um array de strings myArray com três valores de string. Em seguida, usamos o método String.join() para unir todos os elementos do array em uma única string. O primeiro argumento para String.join() é o delimitador que você deseja usar entre cada elemento do array. Usamos "," (uma vírgula seguida de um espaço) como delimitador. O segundo argumento é o array ao qual você deseja ingressar. Finalmente, atribuímos a String resultante à variável joinString e a imprimimos no console.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION