デザインが苦手なWeb便利屋

やったこと備忘録。Webサーバ、DB、JavascriptとかLinuxとか。

Java プログラム

文字列の連結 | Java StringとStringBuilder

投稿日:

文字の連結

JavaでStringを連結する場合の話です。備忘録。

私の素人頭で文字列の連結をすると、単純に+でつなぎます。

という感じです。

一般的にはこれで問題ありません。
速度も気にならないと思いますが、これが5万回とかになると話は別です。

+で連結する際、かなりリソースを消費します。

例えば、Aという文字を5万回追加します。

私の環境では、

処理にかかった時間:1108ms
文字列の長さ:50000

でした。

次にStringBuilder

+連結ではなく、StringBuilderのインスタンス作成し、StringBuilder#append()を使います。

結果は

処理にかかった時間:12ms
文字列の長さ:50000

比べるまでもないこの速さ!

ちなみに20万回

  • String+連結
    19145ms
  • StringBuilder
    16ms

勝負になってません。

単純な繰り返しなのに速度が著しくない場合、文字列を疑ってみてはいかがでしょうか。

Stringを+で連結した場合、インスタンスを作成しなおしているため時間がかかる(らしい)
for文やwhile文で連結を多用するならStringBuilder。
普段はStringで扱っていたほうが何かと便利かと。







-Java, プログラム

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Gitの使い方まとめ | 初心者におすすめ

Gitとは 一般的に、バージョン管理システムと呼ばれているものです。 比較対象としてCVSやSVNが集中型。 Gitは分散型と呼ばれています。 SVNから移行する際は、ローカルリポジトリが有るため一手 …

OpenCV 3.1 eclipseでJavaでじゃばじゃば

画像加工のライブラリ OpenCV(Open Source Computer Vision Library)を使用して画像加工を行ってみようと思い調べてみました。 C++、Python、Javaに対応 …

CentOS7にjenkinsをyumインストール

前提条件 CentOS7 mini(Vagrant)でyum updateを実行しただけ 準備 Javaが必要なため、確認

入ってませ …

no image

windowsアプリでSQLiteの使用 | C# Visual Studio 2013

ローカルデータベース 簡単な販売管理システムを作成中で DBサーバを立てる事もできず、クライアントにDBファイルを作成して、色々とやろうと検討中。 完全に自分用メモ、お世話になったサイトまとめ。 候補 …

no image

ドットインストール|プログラミング学習サイト

今回はいつもお世話になっているサイトのご紹介。 ドットインストール さん http://dotinstall.com/ 動画でプログラミングを丁寧に教えてくれます。 一本の動画は約3分。 ちょっとした …

カテゴリー