CodeGym/Blog Java/Random-PL/Tablica ciągów w Javie
John Squirrels
Poziom 41
San Francisco

Tablica ciągów w Javie

Opublikowano w grupie Random-PL
Często pierwszą strukturą danych, z którą zapoznaje się początkujący programista, jest tablica. Dzieje się tak dlatego, że tablice są dość łatwe do nauczenia. Tablica jednowymiarowa to sekwencja składająca się ze stałej liczby komórek, w których można przechowywać dane. W przypadku języka Java w tablicy można przechowywać tylko jeden typ danych. Innymi słowy, tablice w Javie są jednorodne. Komórki tablicowe mogą zawierać obiekty dowolnego typu. W tablicy możesz umieszczać obiekty dowolnego typu, prymitywne lub obiektowe. Dzisiaj przyjrzymy się tablicom łańcuchowym w języku Java, czyli tablicom, których każdy element jest ciągiem znaków. Dowiemy się, jak zadeklarować tablicę ciągów Java i jak z nią pracować.

Jak zadeklarować i zainicjować tablicę ciągów

Możesz zadeklarować i zainicjować tablicę String w Javie na różne sposoby. Na przykład jak w kodzie poniżej:
String[] myArray = {"value1", "value2", "value3"};
Tutaj najpierw deklarujemy zmienną myArray typu String[] . Następnie inicjujemy tablicę trzema wartościami łańcuchowymi ujętymi w nawiasy klamrowe. Alternatywnie możesz mieć deklarację tablicy String i inicjalizację w oddzielnych wierszach:
String[] myArray; // String array declaration
myArray = new String[] {"value1", "value2", "value3"}; // initialize the array
Tutaj mamy taki sam wynik jak pierwszy fragment kodu, ale dzielimy deklarację i inicjalizację na dwa kroki. Możesz także zainicjować tablicę zawierającą tylko rozmiar, tak jak poniżej:
String[] myArray = new String[5];
Tutaj tworzysz tablicę String i określasz rozmiar tablicy String , ale nie podajesz żadnych wartości początkowych. Następnie możesz przypisać wartości do tablicy za pomocą pętli lub określając wartości indywidualnie. Pamiętaj, że we wszystkich przypadkach musisz określić typ tablicy (w tym przypadku String ) podczas deklarowania zmiennej.

Jak iterować po tablicy String

W Javie możesz iterować po tablicy String za pomocą pętli. Może to być konstrukcja foreach lub foreach. Spójrzmy na przykład wykorzystujący obydwa typy pętli:
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();
    }
}
Tutaj najpierw tworzymy tablicę String o nazwie stringArray z czterema elementami (instrumenty muzyczne typu String). Następnie obie pętle wykonują iterację po każdym elemencie tablicy ciągów i wyświetlają go na konsoli. Pętla foreach jest bardziej zwięzłym sposobem iteracji po tablicy, ale pętla for może być przydatna, jeśli chcesz uzyskać dostęp do indeksu każdego elementu. Dane wyjściowe tego programu będą następujące:
skrzypce altówka wiolonczela kontrabas skrzypce altówka wiolonczela kontrabas

Jak dodać nowy element do Array

W Javie nie można po prostu dodać nowego elementu do tablicy. Jednak Java ma na to specjalne sztuczki. Jeśli masz tablicę ciągów i chcesz dodać nowy ciąg na końcu tablicy, użyj metody Arrays.copyOf . Ta metoda tworzy nową tablicę z jednym dodatkowym elementem, a następnie dodaje nowy element na końcu nowej tablicy. Oto przykład:
//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;
Tutaj metoda Arrays.copyOf tworzy nową tablicę o nazwie newArray o długości o jeden większej niż oldArray. Metoda dodaje newElement na koniec newArray przypisując go do ostatniego elementu newArray . Tablice w Javie mają stałą długość, dlatego nie można dodawać ani usuwać elementów z tablicy po jej utworzeniu. Aby dynamicznie dodawać lub usuwać elementy z kolekcji, lepiej użyj innej struktury danych. Na przykład lista lub mapa .

Jak sortować elementy w tablicy ciągów

Jasne, jeśli interesują Cię dobre ćwiczenia z programowania, możesz napisać swój algorytm sortowania dla procedury sortowania. Jednak w rzeczywistych zadaniach znacznie łatwiej jest użyć metody Arrays.sort() . Oto przykład:
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 + " ");
        }
    }
}
Tutaj najpierw tworzymy tablicę String o nazwie stringArray z czterema elementami. Następnie wywołujemy metodę Arrays.sort() , aby posortować elementy tablicy w kolejności rosnącej. Na koniec iterujemy po posortowanej tablicy za pomocą pętli for-each i wypisujemy każdy element na konsolę. Wynik tego programu jest następujący:
wiolonczela kontrabas altówka skrzypce
Jak widać, metoda posortowała elementy tablicy stringArray alfabetycznie.

Jak przeszukać konkretny ciąg w tablicy ciągów

Aby wyszukać potrzebny ciąg w tablicy String w Javie, możesz użyć pętli do iteracji po każdym elemencie tablicy i porównać go z szukanym ciągiem . Oto przykładowy program:
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;
       }
}
Tutaj tworzymy metodę z dwoma argumentami, tablicą i ciągiem znaków, które należy znaleźć. Tworzymy wartość logiczną „found”, aby śledzić, czy znaleźliśmy String . Jest to znaleziona wartość, którą metoda zwróci. Następnie używamy pętli for-each do iteracji po każdym elemencie tablicy. Używamy metody równości() w pętli, aby porównać bieżący element z szukanym ciągiem. Jeśli metoda znajdzie dopasowanie, ustawiamy ją na true i używamy instrukcji break, aby wcześniej wyjść z pętli. Na koniec drukujemy wynik w zależności od tego, czy znaleziony wynik jest prawdziwy, czy fałszywy. W metodzie głównej wywołujemy metodę wyszukiwania dwukrotnie, z ciągiem znajdującym się w tablicy i tym, którego nie ma. Wynik tego programu jest następujący:
wiolonczela znaleziona w tablicy. w tablicy nie znaleziono fortepianu.

Jak przekonwertować tablicę ciągów na ciąg

Do konwersji tablicy String na String w Javie można użyć metody String.join() . Ta metoda zwraca ciąg znaków połączony podanym ogranicznikiem. Separator jest kopiowany dla każdego elementu w metodzie String Join() . Oto przykład:
String[] myArray = {"value1", "value2", "value3"};
String joinedString = String.join(", ", myArray);
System.out.println(joinedString);
Dane wyjściowe są następujące:
wartość1, wartość2, wartość3
Najpierw deklarujemy tablicę ciągów myArray z trzema wartościami łańcuchowymi. Następnie używamy metody String.join() do połączenia wszystkich elementów tablicy w jeden ciąg znaków. Pierwszym argumentem metody String.join() jest separator, którego chcesz użyć pomiędzy każdym elementem tablicy. Jako ogranicznika użyliśmy „,” (przecinek i spacja). Drugi argument to tablica, którą chcesz połączyć. Na koniec przypisujemy wynikowy String do zmiennej JoinString i wypisujemy go na konsoli.
Komentarze
  • Popularne
  • Najnowsze
  • Najstarsze
Musisz się zalogować, aby dodać komentarz
Ta strona nie ma jeszcze żadnych komentarzy