JavaRush /Java Blog /Random-TL /Coffee break #115. Isang simpleng paraan sa pagpangkat ng...

Coffee break #115. Isang simpleng paraan sa pagpangkat ng mga bagay sa Java. charAt() method - kung paano ito gamitin sa Java

Nai-publish sa grupo

Isang madaling paraan sa pagpangkat ng mga bagay sa Java

Source: Dev.to Sa halimbawang ito, matututunan natin kung paano pasimplehin ang pagpapangkat para sa mga bagay sa Map na naglalaman ng mga koleksyon bilang mga halaga. Coffee break #115.  Isang simpleng paraan sa pagpangkat ng mga bagay sa Java.  charAt() method - kung paano ito gamitin sa Java - 1Halimbawa, mayroon kaming Map object kung saan ang susi ay isang Integer at ang mga halaga ay isang hanay ng mga string:
Grouper<Integer, String> grouper = new ArrayListGrouper<>();
        grouper.put(1, "a");
        grouper.put(1, "b");
        grouper.put(1, "c");
        grouper.put(1, "c");
        grouper.put(2, "c");
Resulta:
{1=[a, b, c, c], 2=[c]}
Ang kailangan lang nating gawin ay tukuyin ang diskarte sa pagpapangkat. Halimbawa, ang natukoy nang klase ng ArrayListGrouper ay gumagamit ng ArrayList bilang diskarte nito . Maaari naming palaging tukuyin ang isang bagong Grouper na gagamit ng ibang GroupingStrateg . Ngayon, baguhin natin ang ArrayList sa isang HashSet upang gawing kakaiba ang mga elemento:
public class HashSetGrouper<K, V> extends Grouper<K, V> {

    public HashSetGrouper() {
        super(HashSet::new);
    }
}
Pagkatapos ay subukan namin:
@Test
    public void testHashSetGrouper() {
        Grouper<Integer, String> grouper = new HashSetGrouper<>();
        grouper.put(1, "a");
        grouper.put(1, "b");
        grouper.put(1, "c");
        grouper.put(1, "c");
        grouper.put(2, "c");
        System.out.println(grouper);

    }
Resulta:
{1=[a, b, c], 2=[c]}
Ang Key 1 ay mayroon na ngayong set kung saan ang value c ay hindi nauulit. Ang halimbawang code ay nai-post sa Github .

charAt() method - kung paano ito gamitin sa Java

Source: FreeCodeCamp Ang charAt() method sa Java ay nagbabalik ng halaga ng char character sa isang string sa isang ibinigay o tinukoy na index. Ngayon ay makikita natin kung paano gamitin ang charAt() na paraan , simula sa syntax nito, at pagkatapos ay titingnan ang ilang halimbawa at mga kaso ng paggamit.

Paano gamitin ang Java charAt() na pamamaraan

Narito kung ano ang hitsura ng syntax para sa charAt() na pamamaraan :
public char charAt(int index)
Tandaan na ang mga character na ibinalik mula sa isang string gamit ang charAt() na paraan ay nasa char data type . Makikita natin kung paano ito nakakaapekto sa pagsasama-sama ng mga halaga ng pagbabalik sa isang sandali. Ngayon tingnan natin ang mga halimbawa:
public class Main {
  public static void main(String[] args) {

    String greetings = "Hello World";

    System.out.println(greetings.charAt(0));
    // H
  }
}
Sa code sa itaas, ang aming string, na nakaimbak sa isang variable na tinatawag na greetings , ay nagsasabing "Hello World". Ginamit namin ang charAt() method para makuha ang character sa index 0. Ang character na iyon ay ang letter H. Ang unang character ay palaging nasa index 0, ang pangalawa sa index 1, at iba pa. Ang puwang sa pagitan ng mga substring ay itinuturing ding isang index. Sa sumusunod na halimbawa, makikita natin kung ano ang mangyayari kapag sinubukan nating ikonekta ang iba't ibang ibinalik na character. Ang concatenation ay nangangahulugan ng pagsasama-sama ng dalawa o higit pang mga value (sa karamihan ng mga kaso, ang termino ay ginagamit upang ikonekta ang mga character o substrings sa isang string).
public class Main {
  public static void main(String[] args) {
    String greetings = "Hello World";

    char ch1 = greetings.charAt(0); // H
    char ch2 = greetings.charAt(4); // o
    char ch3 = greetings.charAt(9); // l
    char ch4 = greetings.charAt(10); // d

    System.out.println(ch1 + ch2 + ch3 + ch4);
    // 391
  }
}
Gamit ang charAt() method , nakuha namin ang mga character na may mga index na 0, 4, 9 at 10, na mga letrang H, o, l at d ayon sa pagkakabanggit. Pagkatapos ay sinubukan naming i-print at ikonekta ang mga character na ito:
System.out.println(ch1 + ch2 + ch3 + ch4);
Ngunit sa halip na ibalik ang "Hold", nakakuha kami ng 391. Ito ay dahil ang mga ibinalik na halaga ay hindi na mga string, ngunit may uri na char . Kaya kapag pinagsama-sama namin ang mga ito, idinaragdag ng interpreter ang kanilang halaga sa ASCII sa halip. Ang H ay may halagang ASCII na 72, ang o ay may halagang 111, ang l ay may halagang 108, at ang d ay may halagang 100. Kung isasama natin ang mga ito, makakakuha tayo ng 391, na ibinalik sa huling halimbawa.

Error sa StringIndexOutOfBoundsException

Kapag nagpasa kami ng sequence number na mas malaki kaysa sa bilang ng mga character sa aming string, nakakakuha kami ng StringIndexOutOfBoundsException na error sa console. Nalalapat din ang error na ito sa paggamit ng negatibong pag-index, na hindi sinusuportahan sa Java. Sa mga programming language tulad ng Python na sumusuporta sa negatibong pag-index, ang pagpasa sa -1 ay magbibigay sa iyo ng huling character o halaga sa set ng data, katulad ng kung paano palaging ibinabalik ng 0 ang unang character. Narito ang isang halimbawa:
public class Main {
  public static void main(String[] args) {
    String greetings = "Hello World";

    char ch1 = greetings.charAt(20);

    System.out.println(ch1);

    /* Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 20
    */
  }
}
Sa code sa itaas naipasa namin ang index 20: char ch1 = greetings.charAt(20); , na lumampas sa bilang ng mga character sa aming variable ng pagbati , kaya nagka-error kami. Makikita mo ang mensahe ng error na nagkomento sa block ng code sa itaas. Gayundin, kung magpapasa tayo ng negatibong halaga tulad nito: char ch1 = greetings.charAt(-1); , pagkatapos ay makakakuha tayo ng katulad na error.

Konklusyon

Sa artikulong ito, natutunan namin kung paano gamitin ang charAt() na pamamaraan sa Java. Nakita namin kung paano ibalik ang mga character sa isang string batay sa kanilang index number at kung ano ang mangyayari kapag pinagsama namin ang mga character na iyon. Napag-usapan din namin ang tungkol sa ilang mga kaso kung saan maaari kang makakuha ng tugon ng error kapag ginagamit ang charAt() na pamamaraan sa Java.
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION