å•題
reverseString メソッドを作æˆã—ã¦ã€ä¸Žãˆã‚‰ã‚ŒãŸæ–‡å—åˆ—ã‚’é€†é †ã«ã—ã¾ã™ã€‚
toUpperCase メソッドを作æˆã—ã¦ã€ä¸Žãˆã‚‰ã‚ŒãŸæ–‡å—列を大文å—ã«å¤‰æ›ã—ã¾ã™ã€‚
ã“れらã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’組ã¿åˆã‚ã›ã¦ã€æ–‡å—åˆ—ã‚’é€†é †ã‹ã¤å¤§æ–‡å—ã«å¤‰æ›ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ reverseAndUpperCase を作æˆã—ã¾ã™ã€‚
ヒント
reverseStringメソッド:reverseStringメソッドã¯ã€ä¸Žãˆã‚‰ã‚ŒãŸæ–‡å—åˆ—ã‚’é€†é †ã«ã™ã‚‹ãŸã‚ã®ãƒ¡ã‚½ãƒƒãƒ‰ã§ã™ã€‚- æ–‡å—åˆ—ã‚’é€†é †ã«ã™ã‚‹ãŸã‚ã«ã¯ã€æ–‡å—列を文å—ã®é…列ã«å¤‰æ›ã—ã¦ã‹ã‚‰ã€é€†é †ã«ä¸¦ã¹æ›¿ãˆã‚‹æ–¹æ³•ãŒã‚りã¾ã™ã€‚
- æ–‡å—列を文å—ã®é…列ã«å¤‰æ›ã™ã‚‹ã«ã¯
toCharArrayメソッドを使用ã—ã¾ã™ã€‚ - é…åˆ—ã‚’é€†é †ã«ã™ã‚‹ã«ã¯ã€ä¸€èˆ¬çš„ã«ã¯ãƒ«ãƒ¼ãƒ—ã‚„
StringBuilderクラスを使用ã—ã¾ã™ã€‚
toUpperCaseメソッド:toUpperCaseメソッドã¯ã€ä¸Žãˆã‚‰ã‚ŒãŸæ–‡å—列を大文å—ã«å¤‰æ›ã™ã‚‹ãŸã‚ã®ãƒ¡ã‚½ãƒƒãƒ‰ã§ã™ã€‚- æ–‡å—列を大文å—ã«å¤‰æ›ã™ã‚‹ã«ã¯
toUpperCaseメソッドを使用ã—ã¾ã™ã€‚
reverseAndUpperCaseメソッド:reverseAndUpperCaseメソッドã¯ã€reverseStringã¨toUpperCaseメソッドを組ã¿åˆã‚ã›ã‚‹ãŸã‚ã®ãƒ¡ã‚½ãƒƒãƒ‰ã§ã™ã€‚reverseStringメソッドを使ã£ã¦æ–‡å—åˆ—ã‚’é€†é †ã«ã—ã€ãã®å¾Œã«toUpperCaseメソッドを使ã£ã¦å¤§æ–‡å—ã«å¤‰æ›ã—ã¾ã™ã€‚
ã“れらã®ãƒ’ントをもã¨ã«ã€å„メソッドを実装ã—㦠reverseAndUpperCase メソッドを作æˆã—ã¦ã¿ã¦ãã ã•ã„。
å‚考:StringBuilder
StringBuilder ã¯ã€Javaã§æ–‡å—åˆ—ã‚’åŠ¹çŽ‡çš„ã«æ“作ã™ã‚‹ãŸã‚ã®ã‚¯ãƒ©ã‚¹ã§ã™ã€‚æ–‡å—列ã¯ã‚¤ãƒŸãƒ¥ãƒ¼ã‚¿ãƒ–ル(ä¸å¤‰ï¼‰ãªæ€§è³ªã‚’æŒã¤ãŸã‚ã€æ–‡å—列を変更ã™ã‚‹ãŸã³ã«æ–°ã—ã„æ–‡å—列オブジェクトãŒä½œæˆã•れã¾ã™ã€‚ã“れãŒå¤§ããªæ–‡å—列ã®å ´åˆã€ãƒ‘フォーマンスã®ä½Žä¸‹ã‚’引ãèµ·ã“ã™å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚StringBuilder ã¯ã“ã®å•題を解決ã™ã‚‹ãŸã‚ã«è¨è¨ˆã•れã¦ã„ã¾ã™ã€‚
以下㯠StringBuilder ã®ä¸»ãªç‰¹å¾´ã¨ä½¿ã„æ–¹ã®è§£èª¬ã§ã™ã€‚
- å¯å¤‰æ€§:
StringBuilderã¯å¯å¤‰ã‚ªãƒ–ジェクトã§ã‚ã‚Šã€æ–‡å—列を変更ã™ã‚‹ãŸã‚ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’æä¾›ã—ã¾ã™ã€‚å…ƒã®ã‚ªãƒ–ジェクトを変更ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ãŸã‚ã€æ–°ã—ã„オブジェクトを作æˆã™ã‚‹å¿…è¦ãŒã‚りã¾ã›ã‚“。
- åŠ¹çŽ‡çš„ãªæ–‡å—列æ“作:
StringBuilderã¯æ–‡å—列ã®çµåˆã€æŒ¿å…¥ã€è¿½åŠ ãªã©ã®æ“作を高速ã«è¡Œãˆã‚‹ã‚ˆã†ã«æœ€é©åŒ–ã•れã¦ã„ã¾ã™ã€‚ã“れã¯ã€å†…部的ã«å¯å¤‰ã‚µã‚¤ã‚ºã®ãƒãƒƒãƒ•ァを使用ã—ã¦ã„ã‚‹ãŸã‚ã§ã™ã€‚
- メモリ効率:
StringBuilderã¯å¿…è¦ã«å¿œã˜ã¦ãƒãƒƒãƒ•ã‚¡ã®ã‚µã‚¤ã‚ºã‚’æ‹¡å¼µã™ã‚‹ã“ã¨ãŒã§ãã€ãƒ¡ãƒ¢ãƒªã®åŠ¹çŽ‡çš„ãªä½¿ç”¨ã‚’サãƒãƒ¼ãƒˆã—ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€å¤§ããªæ–‡å—列を扱ã†å ´åˆã§ã‚‚パフォーマンスãŒå‘上ã—ã¾ã™ã€‚
- メソッドã®ä¾‹:
StringBuilderã¯æ§˜ã€…ãªãƒ¡ã‚½ãƒƒãƒ‰ã‚’æä¾›ã—ã¦ã„ã¾ã™ã€‚代表的ãªã‚‚ã®ã¨ã—ã¦ã¯ã€append(文å—åˆ—ã‚’è¿½åŠ ï¼‰ã€insert(指定ä½ç½®ã«æ–‡å—列を挿入)ã€deleteï¼ˆæŒ‡å®šç¯„å›²ã®æ–‡å—列を削除)ã€reverse(文å—åˆ—ã‚’é€†é †ã«å¤‰æ›´ï¼‰ãªã©ãŒã‚りã¾ã™ã€‚
StringBuilder stringBuilder = new StringBuilder("Hello");
stringBuilder.append(", Java!"); // æ–‡å—列を追åŠ
stringBuilder.insert(6, " Awesome"); // 指定ä½ç½®ã«æ–‡å—列を挿入
stringBuilder.delete(5, 12); // æŒ‡å®šç¯„å›²ã®æ–‡å—列を削除
stringBuilder.reverse(); // æ–‡å—åˆ—ã‚’é€†é †ã«å¤‰æ›´
System.out.println(stringBuilder.toString());
ã“ã®ä¾‹ã§ã¯ã€StringBuilder を使用ã—ã¦æ–‡å—列を変更ã—ã¦ã„ã¾ã™ã€‚
StringBuilder ã‚’é©åˆ‡ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã§ã€æ–‡å—列ã®åŠ¹çŽ‡çš„ãªæ“作ã¨ãƒ¡ãƒ¢ãƒªã®åŠ¹çŽ‡çš„ãªåˆ©ç”¨ãŒå¯èƒ½ã¨ãªã‚Šã¾ã™ã€‚ç‰¹ã«æ–‡å—列ã®çµåˆã‚„変更ãŒé »ç¹ã«è¡Œã‚ã‚Œã‚‹å ´åˆã«ã¯ã€StringBuilder ã®ä½¿ç”¨ãŒæŽ¨å¥¨ã•れã¾ã™ã€‚
→解ç”例
「008 メソッドã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント