Javaのよく使用するメソッド一覧 配列の使い方まとめ

【Java】配列(Arrayクラス)のメソッドを徹底解説 binarySearch、copyOf、copyOfRange、toString、deepHashCode、deepToStringメソッド編

はじめに

プログラミングにおいて、データの管理と操作は欠かせないスキルですね。

Javaの配列もその一つで、多くのデータを効率的に管理できる素晴らしいツールを提供しています。

この記事では、JavaのArraysクラスが提供する、役立つメソッドたちをピックアップして、具体的なコード例とともに解説を深めていきます。

サルモリ
こんにちは!Javaの配列、めっちゃ便利だよね!データをグルグルって簡単に扱えるから、プログラミングがもっと楽しくなるよ!
Java言語のStreamAPIを徹底的に学びたい方は画像をクリックしてご覧ください!
KindleUnlimited会員であれば、全ての本をご覧頂けます。 StreamAPIを理解すれば、Javaの世界が変わる 第1版

binarySearchメソッド

binarySearchメソッドは、ソートされた配列に対して、指定された要素をバイナリサーチ(二分探索)アルゴリズムを使用して検索します。

指定された要素が配列内で見つかった場合、そのインデックスを返します。

見つからなかった場合は、負の値(-(挿入ポイント) - 1)を返しますね。

ポイント

バイナリサーチは非常に効率的な検索アルゴリズムであり、大きなデータセットに対しても高速に動作します。

ソースコード例

 出力結果
Index of 5: 2 
サルモリ
見て見て!簡単に数字の「5」の位置を見つけることができたね!「2」って出力されてるよ!でも、プログラミングは0から数えるから、実際は3番目の位置にあるんだよ!

copyOfメソッドで配列を簡単コピー

copyOfメソッドは、指定された配列を、指定された長さの新しい配列にコピーしますね。

もし、新しい配列の長さが元の配列よりも長い場合、追加された要素は0(数値型の場合)またはnull(オブジェクト型の場合)になります。

ポイント

copyOfメソッドは元の配列のデータを保持したまま、配列のサイズを調整する場面で役立ちます。

ソースコード例

 出力結果
Original array: [1, 2, 3, 4, 5] Copied array: [1, 2, 3, 4, 5, 0, 0] 
 
サルモリ
ふぅ~ん、コピーした新しい配列、ちゃんと元の配列のデータを持ってるね!でも、新しい配列は長さを7にしたから、最後の2つは0になってるよ!これ、めちゃくちゃ便利だよね!

copyOfRangeメソッドで範囲を指定してコピー

copyOfRangeメソッドは、指定された配列の指定された範囲を新しい配列にコピーします。

これは、配列の一部だけを新しい配列にコピーする際に便利ですね。ここでは、元の配列の開始インデックスと終了インデックスを指定して、その範囲を新しい配列にコピーします。

ポイント

copyOfRangeメソッドは開始インデックスは含み、終了インデックスは含まない点に注意です。たとえば、[1, 3) と指定すれば、インデックス1からインデックス2までをコピーします。

ソースコード例

 出力結果
Original array: [10, 20, 30, 40, 50] Copied array with range: [20, 30, 40] 
 
サルモリ
おお!このコード、インデックス1から3の間の要素を新しい配列にコピーしてるね!終了インデックスが4になってるけど、これは含まれないから、インデックス3までがコピーされるのか!なるほどね!

toStringメソッドで配列を見やすく出力

toStringメソッドは、配列の内容を読みやすいString形式で出力するのに役立ちます。

Javaの配列は、デフォルトでtoStringメソッドをオーバーライドしていないため、出力すると参照アドレスが表示されてしまいます。しかし、ArraysクラスのtoStringメソッドを使えば、配列の内容をきれいにフォーマットして出力できます。

ポイント

Arrays.toStringメソッドは、配列の各要素を適切なString形式で出力し、要素間をカンマで区切り、全体を"[]"で囲みます。これにより、配列の内容が一目で分かる出力を得ることができます。

ソースコード例

 出力結果
Without toString: [I@1540e19d With toString: [10, 20, 30, 40, 50] 
サルモリ
わぉ!この違いははっきりしてるね!toStringを使わないと配列の参照アドレスが表示されちゃうけど、使うときれいに要素が出力されるんだね!これは覚えておくと便利そうだね!

deepHashCodeメソッドで多次元配列も安全にハッシュコードを取得

deepHashCodeメソッドは、多次元配列を安全にハッシュコードに変換するメソッドです。

一次元配列に対してはhashCodeメソッドを、多次元配列に対してはdeepHashCodeメソッドを利用します。これにより、多次元配列でも正確なハッシュコードを計算することが可能になります。

ポイント

deepHashCodeメソッドは、配列の全要素(多次元配列の場合は再帰的に)のハッシュコードを計算し、それらを一つのハッシュコードとして返します。このメソッドを利用することで、多次元配列の内容が変更されていないか等を確認することが可能になります。

ソースコード例

 出力結果
Deep hash code: -805245075 
サルモリ
なるほどな~!deepHashCodeってのは、多次元配列を一つの数字にまとめるんだね!それを使えば、データが変わったかどうかすぐにチェックできる!賢いやり方だね!

deepToStringメソッドで多次元配列も簡単に文字列化

多次元配列の要素をすべて文字列にしてくれる「deepToString」メソッド。

このメソッドを使えば、多次元配列もその要素をすべて一つの文字列として取り出すことができます。これにより、多次元配列の全要素を網羅的かつ読みやすく出力できるので、デバッグ時などに大変便利です。

ポイント

「deepToString」は各要素を文字列化してくれるため、配列の中身を一目で確認することができます。特に、多次元配列の場合、要素がどのように格納されているかをすぐに把握することができるので非常に便利です。

ソースコード例

 出力結果
Deep string representation: [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 
サルモリ
おおっ、これは便利だね!多次元配列って中身を見るのがちょっと面倒な時もあるけど、これなら楽チンに確認できるね!デバッグの強い味方だね!

まとめ

本記事では、Javaでよく使用される配列メソッドとして、binarySearch、copyOf、copyOfRange、toString、deepHashCode、deepToStringについて学びました。

それぞれのメソッドが持つ役割と、実用例を通じて具体的な使用法を解説しましたね。

サルモリ
全てのメソッドが一つ一つ、とても便利で、コーディングをする上で役立ちそうだね!私も早速使ってみるよ!

ポイント

ここで学んだメソッドは、日々のプログラミングやアプリケーション開発、システム開発の現場で頻繁に利用されます。この知識をベースに、更なるスキルアップを目指しましょう!

-Javaのよく使用するメソッド一覧, 配列の使い方まとめ

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock