Javaでの配列と関連クラスの使用

1つの通常の配列

1.新しいアレイを作成します。

elementType [] arrayRefVai;(element type [] array name)
例:double [] mylist = new double [10]。

2.アレイにアクセスします。

mylist [0]はmylist配列の最初の要素を表すなど、特定のデータにアクセスするには添え字を使用します。

3.配列の長さを取得します。

int n = mylist.length、長さの後に括弧はありません。

4.foreachループは配列をトラバースします。

たとえば、配列mylistのすべての要素を出力します。

double[] mylist = new double[10];
for(double e:mylist)
{
    
    
   System.out.print(e);
}

5.アレイのコピー:

(1)ループステートメントを使用して、配列の要素を1つずつコピーします。

for(int i=0; i<mylist.length; ++i)
{
    
    
   copylist[i] = mylist[i];
}

(2)Systemクラスで静的メソッドarraycopyを使用します
:(ここでのarraycopyはJavaの命名規則に違反しています)

int[] mylist = new int[5];
int[] copylist = new int[5];
for(int i=0; i<5; ++i)
{
    
    
   mylist[i] = i;
   copylist[i] = 5*i;
}
int start1 = 0;
int start2 = 2;
int length = 3;
//从mylist的start1位置开始,将mylist中的length个数据复制,并赋值给copylist从start2位置开始的length个数据
System.arraycopy(mylist, start1, copylist, start2, length);

ここでは、start1、start2、および長さのサイズが適切である必要があることに注意してください。
たとえば、mylistはstart1の位置から始まり、コピーする長さのデータ以上である必要があります。copylistはstart2の位置から始まり、以下は、貼り付けの長さ以上の場所である必要があります。それ以外の場合は、エラーが報告されます。

(3)cloneメソッドを使用したコピー:
クラスオブジェクトがcloneメソッドを使用する場合は、Cloneableインターフェイスを実装する必要があります。アレイはすでにこのインターフェイスを実装しており、clone()メソッドを直接使用できます。

int[] mylist = new int[5];
int[] copylist = copylist = mylist.clone();

6.可変長パラメーターリスト:

同じタイプで、パラメーターの数が可変のメソッドを渡すことができます。

public class Test {
    
    
   public static void main(String[] args)
   {
    
    
	   print(1,2,3);
	   print(4,5,6,7);
   }
   
   public static void print(int... num) //类型名后加三个点再加对象名
   {
    
    
	   for(int i=0; i<num.length; ++i)
	   {
    
    
		   System.out.print(num[i] + " ");
	   }
   }
}

ここでのprintメソッドは任意の数の整数値を出力でき、numはここでの配列と同等です。

注:メソッドのパラメーターリストに他のパラメーターがある場合は、可変長パラメーターを最後に配置し、通常のパラメーターをその前に配置する必要があります。

7.配列の並べ替え:

(1)選択ソートおよびバブルソートアルゴリズムを使用します。
(2)Collections.sort()メソッドを直接使用します。

java.util.Collections.sort(mylist);

(3)次の表に示すように、Arraysクラスでsort()メソッドを使用します。

次に、Arraysクラス

1.Arraysクラスの一般的な関数とメソッド

Arraysクラスは、いくつかの一般的な配列操作メソッドを含むjava.utilパッケージにあります。

特徴 方法
配列mylist内のすべてのデータを並べ替えます。 java.util.Arrays.sort(mylist)
配列mylistのデータの一部を並べ替えます。 java.util.Arrays.parallelSort(mylist、start、end)//データを最初から最後まで並べ替える-1
二分探索法: java.util.Arrays.binarySearch(mylist、temp)// tempは検索対象のデータです
配列list1とlis2を比較し、ブール値を返します。 java.util.Arrays.equals(list1、list2)
配列mylistのすべてのデータを入力します。 java.util.Arrays.fill(mylist、5)//すべてを5に埋める
配列mylistのデータの一部を入力します。 java.util.Arrays.fill(mylist、start、end、8)//最初から最後までデータを入力-1から8

3つ目は、ArrayListクラスです。

1.ArrayListの一般的な関数とメソッド

通常の配列が作成されると、配列のサイズは固定されます。Arraylistクラスは、無制限の数のデータを格納する配列を作成できます。

ArrayList<String> list1 = new ArrayList<>(); //存储多个字符串
ArrayList<Double> list2 = new ArrayList<>(); //存储多个double数据
ArrayList<Integer> list3 = new ArrayList<>(); //存储多个int数据
// “< >” 中必须为一个具体类型,基本数据类型如int,double等必须使用其包装类Integer,Double。
特徴 方法
リストの最後に新しい要素oを追加します add(E):void
リストの指定されたインデックスに新しい要素oを追加します add(index:int、o:E):void
リスト内のすべての要素をクリアします clear():void
リストに要素oが含まれている場合は、trueを返します contains(o:オブジェクト):ブール値
リストの指定された添え字位置にある要素を返します get(index:int):E
リスト内で最初に一致する要素のインデックスを返します indexOf(o:オブジェクト):int
リストに要素が含まれていない場合は、trueを返します isEmpty():ブール値
リスト内で最後に一致した要素のインデックスを返します lastIndexOf(o:オブジェクト):int
リストの最初の要素を削除します。要素が削除された場合は、trueを返します remove(o:オブジェクト):ブール値
リスト内の要素の数を返します size():int
指定された添え字位置の要素を削除します。要素が削除された場合は、trueを返します remove(index:int):E
指定した添え字位置の要素を設定します セット(インデックス:int、o:E):E

ArraryListクラスの他の使用法:

2.通常の配列を使用してArrayListを作成します。

String[] array = {
    
    "1","2","3"};
ArrayList<String> list = new ArrayList<>(Arrays.asList(array));

3. ArrayListオブジェクトを使用して、通常の配列を作成します。

String[] array1 = new String[list.size()];	
list.toArray(array1);//将ArrayList类对象list的内容复制到array1中。

4. Collections.sort()メソッドを使用して並べ替えます。

java.util.Collection.sort(list);//排序

5. Collections.max()およびCollections.min()を使用して、最適な値を見つけます。

java.util.Collection.max(list);//最大值
java.util.Collection.min(list);//最小值

6. Collections.shuffle()を使用して、リスト要素をランダムにシャッフルします。

java.util.Collection.shuffle(list);//随机打乱列表元素

7. ToString()メソッドの出力リスト:

ArrayList<Integer> a = new ArrayList<Integer>();
a.add(0);
a.add(1);
a.add(2);
System.out.print(list.toString());
//输出结果为 "[0, 1, 2]"

おすすめ

転載: blog.csdn.net/qq_46027243/article/details/109488974