JavaAPIについて vol.38

前回までは自分の使ったクラスやメソッド、パッケージを呼び出してきた。
今回はJavaのAPIについて紹介していこうと思う。

1.APIとは

APIは「Application Programming Interface」の略称で、外部のソフトウェアが持つ機能を共有できる仕組みを指す。APIを使うことにより、プログラムのコードを一から書く必要がないため、開発を効率良く進めることができる。

要するにJavaが元から用意してくれているもので、
フリーで呼び出していいよっていうパッケージやクラスのことだ。

2.APIはどのようなものか

例えば、今まで何気なく使ってきた

System.out.println

のJavaAPIのjava.langパッケージのSystemクラスを使用している。

他にもStringもjava.langパッケージのクラスだ。

JavaAPIはほかにも多くある。パッケージで言うと200を超えていてクラスの数は3500を超えているといわれている。

自分たちは一つのクラスしか使っていないと思っていても、SystemやStringの様に知らない間に他の人が作ってくれたパッケージやクラスを使っているということになっている。

3.APIの確認

APIはどうやって種類を見つけられるのかというと、
サイトで見つけられる。

こちらのサイトで探すことができる。

パッケージの名前が書かれており右側に説明が書かれている。

パッケージ名をクリックするとクラスなどを見ることができる。

4.APIを使ってみよう

キャプチャ782

java.utilパッケージのArraysクラスsortメソッドというものがある。

書くと

java.util.Arrays.sort(配列)

のように書く。これは何ができるかというと配列の中身を昇順に変えてくれるもの小さいものから入れなおしてくれるというもの。

実際に私も配列を入れ替えるプロ下ラムを少し考えて書いてみた。

是非皆さんにも,、配列の並び替えを考えてみてほしい。

なかなか面白かったので少し考えていただきたい。

下記に私が考えてプログラムを載せた。多分大丈夫だと思うが、もしかしたら抜けやエラーが起こるかもしれない。

キャプチャ783

解説すると

int overlapは数字が重複した時に加算させるための変数だ。要素数を指定してint[] highestに格納していっているため、要素数の重複回避の変数として使っている。
一つ目のfor文で、格納する数字を呼び出している。
そのあとのfor文は、一つ目のfor文で出した値と比較するために用意した。
int lowcount はif (high[h] > high[i])で何番目に小さいかを確認するための変数
int equalcountはif (h != i && high[h] == high[i])で要素数が被らないかつ、値が同じだったら加算されていくという仕組み
二つ目for文が終わったタイミングで、値が同等のものがあった時に
if (equalcount > 0) {
lowcount = lowcount + equalcount - overlap;
overlap++;
}
が実行され、要素数が確定し、overlapが加算される。overlapが加算されることによって同じ値の時の要素数が被ることがなくなる。
最後に決まった要素数を指定したhighestに今回入れたい値を持っている、high[h]を入れてあげることで順に変えることができる。

このようにfor文とif文を使い分けて作った。もっとスマートに書ける方もいると思う。

プログラムの書き方も何通りもあると思うので、参考程度に見ていただきたい。

今回かいたものはなかなかのボリュームだと思う。このプログラムを書いていて思うことは、少し考えなくてはいけないし、エラーが起こりそうなパターンも考えなくてはいけない。

このようなに効率を上げたいと思う時の、APIだ。

APIを使うと

キャプチャ784

このようにすっきりしている。

実際に重要な部分は

int [] high = {152 ,195 , 218 , 152 , 137};
java.util.Arrays.sort(high);
for(int h : high) {
System.out.print(h + " ");
}

これだけだ。これだけで並び替えてコンソールに表示させるところまでできている。私が考え書いた時間は何だったのかと思うくらいすっきりしている。

このように簡単に並び替えができてしまう。アイテムなのだ。

APIはプログラムを書いていく上での、効率よくしてくれるアイテムだということだ。

importを使用した書き方はこうなる。

java.util.Arrays.sort(high);
    ⇓
Arrays.sort(high);

このように書いて赤い波線にカーソルを合わせて、インポートするをクリックするだけとても楽な書き方だ。

どういったAPIがあるのか、また、使いやすいのかは羅べ手見ていただきたい。
作りたいプログラムの用途に合わせたものが見つかるはずだ。

今回は以上。

では、また次回
元体育会系文系エンジニア石黒

この記事が気に入ったらサポートをしてみませんか?