JAVA配列の最大のメリットとは、それぞれの要素に値を代入して1つひとつのデータを別々に取り扱えることと、すべての要素のデータをひとまとめに扱えることです。
そのため、配列のすべての要素の合計を出したり、中身を順番に並び替えることが通常の変数として扱うより簡単に行うことができます。
JAVA配列サンプルソースコード
public class Sample {
public static void main(String[] args) {
double[] d = new double[3];
double sum,avg;
d[0] = 3.4;
d[1] = 1.3;
d[2] = 4.4;
sum = 0.0;//sumの初期化
for(int i = 0; i < d.length; i++){
System.out.print(d[i] + " ");
sum += d[i];
}
System.out.println();
avg = sum / 3.0;
System.out.println("合計値: + sum) ;
System.out.println("平均値: + avg) ;
}
}
出力結果
3.4 1.3 4.4
合計値:9.100000000000001
平均値:3.0333333333333337
JAVA配列(array)とは
JAVA配列(array)とは、同一種類の複数データを並び順で格納するデータ構造です。配列では、下記の0番から4番のことを添え字(index)といい、箱の1つひとつを要素(element)といいます。
要素は変数のように型を持ち、1つのデータを格納できます。配列の各要素には同一種類のデータしか格納できません。つまり、1つ目の要素が文字列であれば、2つ目以降の要素も文字列ということになります。
また、添え字は必ず0番から始まることが配列のルールです。
JAVA配列変数の宣言(定義)
JAVAの配列でも通常の変数と同様に配列変数名とデータ型の宣言(定義)が必要です。
JAVA配列変数の宣言(定義)
要素の型[] 配列変数名;
JAVA配列の宣言(定義)例
double[] d;
JAVA配列要素の作成と代入
配列変数名 = new 型名[要素数];
JAVA配列要素の作成と代入例
d = new double[3];
JAVA配列の初期化
通常、変数の値を取り出す前にはコンパイルエラーを防ぐため値を代入して初期化を行う必要があります。しかしながら、JAVA配列の要素は自動的に初期化されるのでコンパイルエラーにはなりません。
JAVA配列の初期化サンプルソースコード
public class Sample {
public static void main(String[] args) {
double[] d = new double[3];//JAVA配列の要素の初期化は自動で行われる
System.out.print(d[0]);
}
}
出力結果
0.0
JAVA配列の出力(表示)
JAVA配列出力(表示)は下記のように簡単に行うことが可能です。
JAVA配列の出力(表示)のサンプルソースコード
public class Sample {
public static void main(String[] args) {
int rs[] = {15,48,63,85,71};
for (int i = 0; i < 5; i++){
System.out.println(rs[i]);//JAVA配列の出力(表示)
}
}
}
出力結果
15
48
63
85
71
JAVA配列の代入
JAVA配列要素への代入は下記のように簡単に行うことが可能です。
JAVA配列の代入のサンプルソースコード
public class Sample {
public static void main(String[] args) {
double[] d = new double[3];
d[1] = 30.3;//JAVA配列要素へ代入を行う
System.out.print(d[1]);
}
}
出力結果
30.3
JAVA配列の検索
JAVA配列の検索は下記のように簡単に行うことが可能です。
JAVA配列の検索のサンプルソースコード1
import java.util.Arrays;
public class Sample {
public static void main(String[] args) {
String[] array = {"巨人", "楽天" ,"ソフトバンク"};
if (Arrays.asList(array).contains("楽天")) {
System.out.println("楽天が見つかった");
} else {
System.out.println("楽天は見つからなかった");
}
}
}
出力結果
楽天が見つかった
JAVA配列の検索のサンプルソースコード2
import java.util.Arrays;
public class Sample {
public static void main(String[] args) {
String[] array = {"巨人", "楽天" ,"ソフトバンク"};
if (Arrays.asList(array).contains("ベイスターズ")) {
System.out.println("楽天が見つかった");
} else {
System.out.println("楽天は見つからなかった");
}
}
}
出力結果
楽天は見つからなかった
JAVAの配列に引数を渡す
JAVAの配列に引数を渡す方法は下記のように簡単に行うことが可能です。
JAVAの配列に引数を渡す方法のサンプルソースコード
public class Sample {
public static void main(String[] args) {
int num = 5;
int array[] = {15,4};
System.out.println("JAVAの配列に引数を渡す前");
System.out.println("num = " + num);
System.out.println("array[0] = " + array[0]);
//JAVAの配列に引数を渡す
num = 55;
array[0] = 85;
System.out.println();
System.out.println("JAVAの配列に引数を渡した後");
System.out.println("num = " + num);
System.out.println("array[0] = " + array[0]);
}
}
出力結果
JAVAの配列に引数を渡す前
num = 5
array[0] = 15
JAVAの配列に引数を渡した後
num = 55
array[0] = 85
JAVA配列のソート(並び替え)
JAVA配列のソート(並び替え)は下記のように簡単に行うことが可能です。
JAVA配列のソート(並び替え)のサンプルソースコード
import java.util.Arrays;
public class Sample {
public static void main(String[] args) {
int array[] = {95,8,63,15,11};
Arrays.sort(array); // ソート(並び替え)
for (int i = 0; i < array.length; i++){
System.out.println(array[i]);
}
}
}
出力結果
8
11
15
63
95
JAVA配列の長さ(サイズ)|要素数
JAVA配列の長さ(サイズ)|要素数は下記のように簡単に求めることが可能です。
JAVA配列の長さ(サイズ)|要素数を求めるサンプルソースコード
public class Sample {
public static void main(String[] args) {
int[] speed = {100,200,300,400,500};
int num = speed.length;//JAVA配列の長さ(サイズ)|要素数を求める
System.out.println("JAVA配列の長さ(サイズ)|要素数は:" + num);
}
}
出力結果
JAVA配列の長さ(サイズ)|要素数は:5
JAVA配列の最大値
JAVA配列の最大値は下記のように簡単に求めることが可能です。
JAVA配列の最大値を求めるサンプルソースコード
public class Sample {
public static void main(String[] args) {
int[] array = {5,9,4,8,2,7,1};
int intMax = array[0];
for (int i = 1; i < array.length; i++ ) {
if(intMax < array[i]) {
intMax = array[i];
}
}
System.out.println("JAVA配列の最大値は:" + intMax);
}
}
出力結果
JAVA配列の最大値は:9
JAVA配列の最小値
JAVA配列の最小値は下記のように簡単に求めることが可能です。
JAVA配列の最小値を求めるサンプルソースコード
public class Sample {
public static void main(String[] args) {
int[] array = {5,9,4,8,2,7,1};
int intMin = array[0];
for (int i = 1; i < array.length; i++ ) {
if(intMin > array[i]) {
intMin = array[i];
}
}
System.out.println("JAVA配列の最小値は:" + intMin);
}
}
出力結果
JAVA配列の最小値は:1
JAVA配列の結合(要素の追加)
JAVA配列の結合(要素の追加)は下記のように簡単に求めることが可能です。
JAVA配列の結合(要素の追加)を求めるサンプルソースコード
public class Sample {
public static void main(String[] args) {
int[] arr_p = {1,2};
int[] arr_n = new int[4];
System.arraycopy(arr_p, 0, arr_n, 0, 2);
arr_n[2] = 3;
arr_n[3] = 4;
System.out.println("結合(要素を追加する)前の配列");
for(int i=0; i<arr_p.length ; i++){
System.out.println(arr_p[i]);
}
System.out.println();
System.out.println("結合(要素を追加した)後の配列");
for(int i=0; i<4 ; i++){
System.out.println(arr_n[i]);
}
}
}
出力結果
結合(要素を追加する)前の配列
1
2
結合(要素を追加した)後の配列
1
2
3
4
JAVA配列とfor文(ループ処理)
JAVAの配列では要素1つひとつを指定して使用することもできますが、for文によるループ処理を用いると、よりスマートな記述が可能となります。
JAVA配列for文ループ処理による全要素の利用
JAVAでは配列の最初から最後までの全要素にアクセスするパターンが最も多くなっています。ループの度に添え字が0→1→2→3→4と変化し、speed[0]からspeed[4]まで順にアクセスします。仮に要素が増えたとしても配列とfor文を使ったループ処理を活用すれば問題ありません。
JAVA配列とfor文ループ処理のサンプルソースコード
public class Sample {
public static void main(String[] args) {
int[] speed = {100,200,300,400,500};
for (int i = 0; i < speed.length; i++) {
System.out.println(speed[i]);
}
}
}
出力結果
100
200
300
400
500
JAVA配列for文ループ処理による集計
JAVA配列とfor文ループ処理のサンプルソースコード1|合計と平均
public class Sample {
public static void main(String[] args) {
int[] speed = {100,200,300,400,500};
int sum = 0;
for (int i = 0; i < speed.length; i++) {
sum += speed[i];
}
int avg = sum / speed.length;
System.out.println("合計:" + sum);
System.out.println("平均:" + avg);
}
}
出力結果
合計:1500
平均:300
JAVA配列とfor文ループ処理のサンプルソースコード2|speedが300以上の数を調べる
public class Sample {
public static void main(String[] args) {
int[] speed = {100,200,300,400,500};
int count = 0;
for (int i = 0; i < speed.length; i++) {
if (speed[i] >= 300) {
count++;
}
}
System.out.println("speedが300以上の数は:" + count);
}
}
出力結果
speedが300以上の数は:3
JAVAの配列から要素を削除
JAVAで配列から要素を削除する方法です。
JAVAで配列から要素を削除するサンプルソースコード
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Sample {
public static void main(String[] args) {
String[] arr1 = new String[] { "う", "え", "わ", "き", "む" };
// 配列の要素をすべて出力
for(String str : arr1) {
System.out.println(str);
}
// 配列をリストに変換
List<String> list = new ArrayList<String>(Arrays.asList(arr1));
System.out.println("配列から要素\"わ\"を削除");
list.remove("わ");
// 配列の要素をすべて出力
String[] arr2 = (String[]) list.toArray(new String[list.size()]);
for (String str : arr2) {
System.out.println(str);
}
}
}
出力結果
う
え
わ
き
む
配列から要素”わ”を削除
う
え
き
む
JAVAの配列を連結し文字列で出力
JAVAの配列では要素を文字列に変換し繋ぎ合わせることができます。
JAVAの配列では要素を文字列に変換し繋ぎ合わせるサンプルソースコード
public class Sample {
public static void main(String[] args) {
String[] s = {"も", "じ", "れ", "つ"};
String str = String.join(",", s);
System.out.println(str);
}
}
出力結果
も,じ,れ,つ
JAVAの配列を比較する
JAVAの配列では要素を比較することができます。
JAVA配列要素を比較するサンプルソースコード1
import java.util.Arrays;
public class Sample {
public static void main(String[] args) {
int[] arr1 = { 7, 100, 22 };
int[] arr2 = { 7, 100, 22 };
//Arrays.equals()は要素数と対の要素が全て同じでtrueを返す
System.out.println(Arrays.equals(arr1, arr2));
}
}
出力結果
true
JAVA配列要素を比較するサンプルソースコード2
import java.util.Arrays;
public class Sample {
public static void main(String[] args) {
int[] arr1 = { 7, 100, 22 };
int[] arr2 = { 7, 88, 22 };
//Arrays.equals()は要素数と対の要素が全て同じでtrueを返す
System.out.println(Arrays.equals(arr1, arr2));
}
}
出力結果
false