Podział stringa na znaki

0

Witam.
Czy jest w javie jakaś funkcja odpowiedzialna za podział stringa na poszczególne znaki i zapisanie ich do tablicy?

Np. mam tekst: Ala ma kota
I chcę otrzymać:
t[0]='A'
t[1]='l'
t[2]='a'
t[3]=' '
t[4]='m'
t[5]='a'
t[6]=' '
t[7]='k'
t[8]='o'
t[9]='t'
t[10]='a'

0

możesz napisać jak to wykorzystać?

0

Na liście metod poszukać takich, która zwracają char[].

0

dzięki :) znalazłem toCharArray()

0

Eeee tam, prościej zrobić własną tablicę char'ów i iterować po string'u dołączając po kolei, a nie tam zawsze z gotowców korzystać ;)

1
xeo545x39 napisał(a)

Eeee tam, prościej zrobić własną tablicę char'ów i iterować po string'u dołączając po kolei, a nie tam zawsze z gotowców korzystać ;)

Zeszyty do szkoły też sobie sam robisz? Długopisy też? Srajtaśmę też?

0

Najprostsze i jednocześnie najbardziej wydajne będzie skorzystanie z metody CharSequence.charAt(). Interfejs ten jest implementowany zarówno przez String jak i StringBuilder, więc w tym drugim wypadku zawartość bufora można też łatwo zmieniać metodami StringBuildera (setCharAt, replace, insert). Konwertowanie Stringa na tablicę jest najczęściej dodatkowym niepotrzebnym kopiowaniem i przydziałem pamięci na obiekt oraz bufor znakowy (zawartość tablicy można zmieniać, więc nie można użyć bufora ze Stringa).
Nie ma potrzeby dzielenia Stringa ponieważ w pamięci i tak jest on podzielony na znaki w buforze.

0

Zazwyczaj podziwiam Twoją wiedzę i zgadzam się z wypowiedziami. Tym razem niezupełnie.

  1. Po raz pierwszy spotkałem się z poglądem, że interfejs implementuje klasę.
  2. Są różne kryteria prostoty. Jeżeli trzeba wielokrotnie operować na elementach Stringa, to prościej pisać t[i] niż txt.charAt(i).
  3. Możesz krótko opisać jak, nie tworząc tablic typu char[], rozstrzygnąć czy dla dwóch danych Stringów o tej samej długości, jeden jest permutacją drugiego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1