JavaRush /Java Blog /Random-TK /Kofe arakesmesi # 241. Setirleri massiwlere nädip öwürmel...

Kofe arakesmesi # 241. Setirleri massiwlere nädip öwürmeli - Jikme-jik gollanma

Toparda çap edildi
Çeşme: FreeCodeCamp Bu gollanma bilen bir setiri massiwde nädip öwürmelidigini öwrenersiňiz. Bu ussatlyk, sözleri gaýtadan işlemek programmalary işlenip düzülende ýa-da maglumatlar bilen işlenende peýdaly bolar. Kofe arakesmesi # 241.  Setirleri massiwlere nädip öwürmeli - Jikme-jik gollanma - 1Java-da bir setir nyşanlaryň toparydyr, bir massiw şol bir görnüşdäki elementleriň ýygyndysydyr. Öwürmek prosesi arkaly bir setiri böleklere bölüp bilersiňiz we soňra şol bölekleri mundan beýläk işlemek ýa-da derňemek üçin massiwde saklap bilersiňiz. Setirleri massiwlere öwürmek üçin dürli Java usullary bar. Olary bilmek, programmirleme talaplaryňyza laýyk gelýänini saýlamaga mümkinçilik berer.

ToCharArray () usuly bilen setiri nädip massiwlere öwürmeli

ToCharArray () usuly, bir setiri simwollara, setiriň her bir nyşanyny massiwiň elementine öwürmäge mümkinçilik berýän içerki Java funksiýasydyr. Bu usul String synpynda bar .

ToCharArray () usulynyň sintaksis we ulanylyşy:

public class StringToArrayExample {
    public static void main(String[] args) {
        String str = "Hello, World!";

        // Преобразовать строку в массив символов
        char[] charArray = str.toCharArray();

        // Распечатать элементы массива
        for (char c : charArray) {
            System.out.println(c);
        }
    }
}

Amalyň düşündirişi:

  1. Setir üýtgeýän str yglan ediň we gerekli setiri belläň.
  2. Nyşan massiwine öwürmek üçin str setirindäki toCharArray () usulyny ulanyň . Bu usul bir setiri aýratyn nyşanlara bölýär we şol nyşanlary öz içine alýan massiwini gaýtaryp berýär.
  3. Alnan nyşan massiwini charArray üýtgeýjisinde saklaň .
  4. Her harpy aýratyn çap etmek üçin her aýlaw üçinCharArray” -yň üsti bilen gaýtalaň .
Netije:
H e l, o!

ToCharArray () ulanmagyň peýdasy:

  • Ityönekeýlik: ToCharArray () usuly, diňe bir usul jaňy bilen setiri simwol massiwine öwürmegiň ýönekeý usulyny üpjün edýär.
  • Okalýanlyk: Netijeli nyşan massiwini aňsatlyk bilen üýtgedip, dolandyryp ýa-da aýlawlar arkaly gaýtalap bolýar.
  • Üýtgemeýän setirler: Setirler Java-da üýtgewsiz bolansoň, aýratyn nyşanlary üýtgetmeli bolanyňyzda olary simwol massiwine öwürmek peýdaly bolup biler.

ToCharArray () ulanmagyň kemçilikleri:

  • Memoryadyň ulanylyşynyň ýokarlanmagy: ToCharArray () usuly goşmaça ýady talap edýän täze nyşan massiwini döredýär. Uly setirler bilen işleýän bolsaňyz, bu problema bolup biler.
  • Öndürijilik: Täze simwol massiwini döretmek we nyşanlary göçürmek, beýleki usullar bilen deňeşdirilende, esasanam uzyn setirler bilen deňeşdirilende käbir öndürijiligiň peselmegine sebäp bolup biler.

Bölünmek () usuly bilen setiri nädip bölmeli

Java-da split () usuly , belli bir delimiteriň esasynda setiri köp sanly bölmek üçin amatly usuldyr. Bu usul String synpynda bar .

Sintaksis we split () usulynyň ulanylyşy:

String[] split(String delimiter)
Usul argument hökmünde setiriň bölünmeli nokatlaryny kesgitleýän delimiter hökmünde kabul edilýär. Aýyrmak adaty aňlatma ýa-da ýönekeý setir bolup biler. Split () ulanyp öwrülişi görkezýän mysal kody :
string = "Hello,World,How,Are,You?"
delimiter = ","

split_string = string.split(delimiter)
print(split_string)

Amalyň düşündirişi:

  1. Setir diýilýän setir üýtgeýjisini kesgitleýäris . Aýrylyşmak isleýän tekstimiz bar: “Salam, Dünýä, nähili, nähili, sen?”
  2. Setiri aýyrmak we delimiter üýtgeýjisine bellemek üçin ulanjak bolýan vergi ( , ) delimiterini kesgitleýäris .
  3. Soňra bölüji () usulyny setir üýtgeýjisinde argument hökmünde geçýäris . Bu setiri delimiter nirede tapylsa, aşaky böleklere bölýär .
  4. Split () usuly, split_string üýtgeýjisine bellän substrleriň sanawyny görkezýär .
  5. Netijede, netijäni görmek üçin split_string sanawyny çap edýäris .
Netije:
['Salam', 'Dünýä', 'Nädip', 'Nädip', 'Siz?']

Bölünmegi () ulanmagyň peýdasy:

  • Amatly we ulanmak aňsat.
  • Belli bir delimiter esasynda setiri bölmäge mümkinçilik berýär.
  • Çeýe delimiter opsiýalaryny üpjün edip, delimiter hökmünde yzygiderli aňlatmalary goldaýar.

Bölünmegi () ulanmagyň kemçilikleri:

  • Eger delimiter setirde tapylmasa, asyl setir netijäniň massiwiniň bir elementi hökmünde yzyna gaýtarylýar.
  • Yzygiderli aňlatmalar işlemek kyn bolup biler we nädogry ulanylsa garaşylmadyk netijelere sebäp bolup biler.
  • Çylşyrymly yzygiderli aňlatmany ulanyp, uly setiri bölmek hasaplama taýdan gymmat bolup biler.

StringTokenizer ulanyp, bir setiri nädip öwürmeli

Java-daky “StringTokenizer” synpy , belligi bellemek ýa-da aýratyn belliklere bölmek üçin amatly usuly üpjün edýän miras synpydyr. Adatça setiri belli bir delimiteriň esasynda bölmek arkaly massiwde öwürmek üçin ulanylýar.

StringTokenizer-iň sintaksis we ulanylyşy:

“StringTokenizer” -i ulanmak üçin ilki bilen “StringTokenizer” synpynyň parametrini görkezip, bir setir we delimiter geçip:
StringTokenizer tokenizer = new StringTokenizer(inputString, delimiter);
Nusga kody:
import java.util.StringTokenizer;

public class StringToArrayExample {
    public static void main(String[] args) {
        String inputString = "Hello,World,How,Are,You?";

        // Creation an object StringTokenizer с разделителем ","
        StringTokenizer tokenizer = new StringTokenizer(inputString, ",");

        int tokenCount = tokenizer.countTokens();
        String[] stringArray = new String[tokenCount];

        // Преобразование каждого токена в элементы массива
        for (int i = 0; i < tokenCount; i++) {
            stringArray[i] = tokenizer.nextToken();
        }

        // Печать выходного массива
        for (String element : stringArray) {
            System.out.println(element);
        }
    }
}

Amalyň düşündirişi:

  1. Kod giriş setirinden tokenizer atly StringTokenizer obýektini döretmekden başlaýar we "," bilen kesgitlenýär .
  2. “CountTokens” () usuly giriş setirinde bar bolan bellikleriň umumy sanyny almak üçin ulanylýar. Bu baha tokenCount üýtgeýjisinde saklanýar .
  3. “StringArray” diýlip atlandyrylýan tokenCount-a deň ululykda döredilýär .
  4. NextToken () usuly, her nyşanyň üstünde gaýtalanmak we stringArray- da degişli görkezijini bellemek üçin aýlawda ulanylýar .
  5. Netijede, “stringArray” faýlynda her elementi çap etmek üçin “loop” ulanylýar .
Netije:
Salam Dünýä nähili?

StringTokenizer goýmalary

“StringTokenizer” dürli ssenariýalarda peýdaly bolup biler, şol sanda:
  • Giriş maglumatlary yzygiderli bölüji bilen düzülen.
  • Aýry-aýry sözleri ýa-da bölekleri sözlemden ýa-da abzasdan çykarmak.
  • Düşündiriş bilen bölünen bahalary aýratyn elementlere bölmek.
  • Leksiki derňew ýa-da dili gaýtadan işlemek üçin tekst belligi.

StringTokenizer ulanmagyň peýdasy:

  • Plönekeýlik: StringTokenizer-iň sintaksis ýönekeý we gönümel bolup, ony täze öwrenýänlere elýeterli edýär.
  • Netijelilik: “StringTokenizer” yzygiderli aňlatmalar ýa-da el bilen häsiýetli bölüniş bilen deňeşdirilende ýat we öndürijilik taýdan täsirli.
  • Çeýe delimiterler: universalhliumumy tokenizasiýa mümkinçilik berýän birnäçe delimiteri kesgitläp ýa-da deslapky kesgitlenen delimiter toplumyny ulanyp bilersiňiz.
  • Iterative gaýtadan işlemek: StringTokenizer, bellikleri gaýtalap işlemäge mümkinçilik berýär, hemme zady birbada ýada salman, uly setirleri gaýtadan işlemek üçin peýdaly edýär.

StringTokenizer ulanmagyň zyýany:

  • Çäklendirilen işleýiş: StringTokenizer-de çylşyrymly nagyşlary bellemekde has çeýeligi üpjün edýän yzygiderli aňlatmalar ýaly häzirki zaman alternatiwalarynda tapylan käbir ösen aýratynlyklar ýok .
  • Yzygiderli aňlatmalar üçin goldaw ýok: split () usuly ýaly beýleki usullardan tapawutlylykda , StringTokenizer yzygiderli aňlatmalary delimitator hökmünde ulanyp bilmeýär, bu bolsa tokenizasiýa mümkinçiliklerini çäklendirýär.
  • Boş bellikler üçin goldaw ýok: StringTokenizer boş bellikleri öňünden işlemeýär. Eger yzygiderli delimitersiňiz bar bolsa, garaşylmadyk netijelere sebäp bolup biljek ýekeje delimiter hökmünde seredilýär.
  • Könelişen synp: StringTokenizer miras galan Java kolleksiýalarynyň bir bölegi bolup, Iterable interfeýsini durmuşa geçirmeýär , bu bolsa aýlawlar üçin giňeldilip bilinmez .

Setiriň her nyşanyny massiw elementine nädip el bilen öwürmeli

Käbir ýagdaýlarda, öwrülişik prosesine has köp gözegçilik gerek bolup biler ýa-da ony aýratyn talaplaryňyza laýyklaşdyrmak isläp bilersiňiz. Şeýle ýagdaýlarda, setirdäki her bir belgini el bilen gaýtalap we massiwdäki aýratyn elementlere belläp, setiri massiwine öwrüp bilersiňiz. El bilen öwrülişini görkezýän nusga kody:
string = "Hello, World!"
array = []

for char in string:
    array.append(char)

print(array)

Amalyň düşündirişi:

  1. "Salam, Dünýä!" Bahasy bilen üýtgeýän üýtgeýän setiri kesgitleýäris. .
  2. Biz massiw diýilýän boş sanawy başlaýarys .
  3. Her setiriň üstünde yzygiderli gaýtalamak üçin aýlaw ulanýarys .
  4. Aýlawyň içinde her harpy massiwde goşmak üçin append () usulyny ulanýarys .
  5. Aýlaw gutaransoň, netijäni görmek üçin massiw çap edýäris.
Netije:
['H', 'e', ​​'l', 'l', 'o', ',', '', 'W', 'o', 'r', 'l', 'd', '!']

El bilen öwürmegiň taraplary:

  • Öwürmek prosesine doly gözegçilik edýär.
  • Nyşanlaryň massiwine bellenmezden ozal özleşdirilmegine ýa-da dolandyrylmagyna rugsat berýär.
  • Öwürmek wagtynda goşmaça amallar etmeli bolanyňyzda gowy işleýär.

El bilen öwürmegiň kemçilikleri:

  • ToCharArray () ýa-da split () ýaly gurlan usullar bilen deňeşdirilende has köp kod we el bilen işlemegi talap edýär .
  • El bilen gaýtalamak prosesi sebäpli uly setirler üçin has täsirli bolup biler.
  • Nädogry ýerine ýetirilse, ýalňyşlyk töwekgelçiligini ýokarlandyrýar.
Bellik. Öwürmek prosesinde ýörite amallary ýerine ýetirmek zerur bolsa, el bilen öwürmek usulyny saýlasaňyz gowy bolardy. Otherwiseogsam, ýönekeýlik we netijelilik üçin toCharArray () ýa-da split () ýaly gurlan usullar.

Dürli usullary deňeşdirmek

toCharArray ():

  • Pleönekeý we düşnükli usul.
  • Setiri görkezýän nyşan massiwini görkezýär.
  • Specialörite talaplar bolmazdan umumy öwrülişikler üçin amatly.

bölmek ():

  • Görkezilen delimiteriň esasynda bir setiri bölýär.
  • Setiri aşaky böleklere bölmek zerur bolsa peýdaly.
  • Aýyryjy şablony saýlamakda çeýeligi üpjün edýär.

StringTokenizer:

  • Aýratyn delimiter esasly simli tokenizasiýa üçin döredildi.
  • Aýyrýan nyşanlary sazlamaga mümkinçilik berýär.
  • Tokenizasiýa prosesine granuliki gözegçilik gerek bolanda laýyk gelýär.

El bilen öwürmek:

  • Öwürmek prosesine doly gözegçilik edýär.
  • Nyşanlarda goşmaça amallary düzmäge we ýerine ýetirmäge mümkinçilik berýär.
  • Öwürmek wagtynda aýratyn talaplar zerur bolsa maslahat berilýär.

Näme üçin setiri Java-a massiwde öwürmelidigini bilmeli?

Java-da massiw öwrülişiginiň setiriniň ähmiýeti, maglumatlary gaýtadan işlemek üçin hödürleýän köpugurlylygy we çeýeligi bilen baglanyşyklydyr. Java-da setiri massiwine öwürmek ukybynyň möhüm bolmagynyň käbir esasy sebäpleri:
  • Maglumatlary manipulýasiýa etmek. Toplumlar Java-da maglumatlary saklamagyň we dolandyrmagyň gurluşly usulyny üpjün edýär. Setiri massiwine öwürmek bilen, aýratyn nyşanlara ýa-da aşaky böleklere girip, maglumatlary üýtgedip we sortlamak, gözlemek ýa-da süzmek ýaly dürli amallary ýerine ýetirip bilersiňiz.
  • Algoritmiki amallar. Java-daky köp algoritmler we maglumatlar gurluşlary massiw görnüşinde girizilmegini talap edýär. Setiri massiwine öwürmek bilen, bu algoritmleri aňsatlyk bilen ulanyp bilersiňiz we belli elementleri sortlamak, tersine öwürmek ýa-da almak ýaly amallary ýerine ýetirip bilersiňiz.
  • Tekstiň derňewi we derňewi. Setirlerde köplenç CSV (vergul bilen bölünen bahalar) ýa-da JSON (JavaScript obýekt belligi) ýaly gurluşly ýa-da çäklendirilen maglumatlar bar. Setiri massiwine öwürmek, maglumatlary döwmäge we seljermäge mümkinçilik berýär, bu bolsa anyk maglumatlary has giňişleýin derňemäge, gaýtadan işlemäge ýa-da çykarmaga mümkinçilik berýär.
  • Setir manipulýasiýasy. Setirleriň manipulýasiýa usullarynyň toplumy bar bolsa, massiwler goşmaça çeýeligi hödürleýär. Setiri massiwine öwürmek, maglumatlary has netijeli dolandyrmak ýa-da belli bir formatlaşdyryş talaplaryny kanagatlandyrmak üçin indeksirlemek, dilimlemek ýa-da birleşdirmek ýaly massiw amallaryny ulanmaga mümkinçilik berýär.
  • Gabat gelmek: Käbir ssenariýalarda, massiw esasly girişe garaşýan kitaphanalar ýa-da API-ler bilen täsirleşmek üçin bir setiri massiwine öwürmeli bolmagyňyz mümkin. Öwrülişi amala aşyrmak bilen, sazlaşykly maglumatlary üpjün etmek we bökdençsiz maglumat alyş-çalşyny üpjün etmek bilen, öz maglumatlaryňyzy daşarky komponentler bilen aňsatlyk bilen birleşdirip bilersiňiz.

Netije

Bu makalada setiri Java massiwine öwürmek üçin dürli usullary ara alyp maslahatlaşdyk. Dört dürli usul barada öwrendiňiz: toCharArray () usulyny ulanmak, split () usuly bilen setiri bölmek , StringTokenizer ulanyp we her bir belgini massiw elementine el bilen öwürmek. Her usuly, olaryň sintaksisini, ulanylyşyny, nusga koduny, oňaýly taraplaryny we jikme-jikliklerini öz içine aldyk.
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION