Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java 9のArraysクラスに追加された新しいメソッドは何ですか?


Arraysクラスには、配列を操作するためのさまざまなメソッドを含めることができます。また、配列をリストとして表示できるようにする静的ファクトリメソッドも含まれます。 Java 9は、Arraysクラスに3つの重要なメソッドを追加しました: Arrays.equals() Arrays.compare() およびArrays.mismatch()

Arrays.equal()- Java 9では、オーバーロードされたメソッドが Arrays.equals()に追加されていません。 方法。新しいメソッドはfromIndexを取ります およびtoIndex 提供された2つのアレイのパラメーター。これらのメソッドは、相対的なインデックス位置に基づいて2つの配列の同等性をチェックします。

構文

public static boolean equals(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)

上記の構文では、指定されたintの2つの配列で、指定された範囲が別の配列と等しい場合、メソッドはtrueを返します。 2番目の方法は、文字の配列に対しても同じように機能します。

import java.util.Arrays;
public class CompareArrayTest {
   public static void arrayEqualsTest() {
      int[] existRows = {0, 1, 2, 3, 4, 5};
      int[] newRows = {3, 4, 5, 1, 2, 0};
      System.out.println(Arrays.equals(existRows, newRows));
      System.out.println(Arrays.equals(existRows, 1, 3, newRows, 3, 5));
      System.out.println(Arrays.equals(existRows, 3, 5, newRows, 0, 2));
   }
   public static void main(String args[]) {
      CompareArrayTest.arrayEqualsTest();
   }
}

出力

false
true
true


Arrays.compare()- Java 9では、 Arrays.compare()にいくつかのパラメーターが追加されています。 方法。 fromIndex / toIndexを使用 相対位置比較に使用されるパラメータ。

構文

public static int compare(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)

上記の構文では、メソッドは2つのint配列を辞書式に比較します。 指定された範囲で。

import java.util.Arrays;
public class LexicographicalArraysTest {
   public static void main(String args[]) {
      LexicographicalArraysTest.compareSliceArraysTest();
   }
   public static void compareSliceArraysTest() {
      int[] tomMarks = {5, 6, 7, 8, 9, 10};
      int[] daisyMarks = {5, 6, 7, 10, 9, 10};
      int[] maryMarks = {5, 6, 7, 8};
      System.out.println(Arrays.compare(tomMarks, 0, 3, daisyMarks, 0, 3));
      System.out.println(Arrays.compare(tomMarks, 0, 4, maryMarks, 0, maryMarks.length));
      System.out.println(Arrays.compare(daisyMarks, 0, 4, maryMarks, 0, maryMarks.length));
   }
}

出力

0
0
1


Arrays.mismatch()- Java 9には、 Arrays.mismatch()の他のオーバーロードされたメソッドがあります。 配列の2つのスライス間の最初の不一致のインデックスを見つけて返すことができるメソッド。

構文

public static int mismatch(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)

上記の構文では、メソッドは相対を見つけて返します。 インデックス 指定された範囲にわたる2つのint配列間の最初の不一致の。不一致が見つからない場合は-1を返します。 0(両端を含む)から小さい範囲の長さ(両端を含む)までの範囲のインデックス。

import java.util.Arrays;
public class MismatchMethodTest {
   public static void main(String[] args) {
      MismatchMethodTest.mismatchArraysTest();
   }
   public static void mismatchArraysTest() {
      int[] a = {1, 2, 3, 4, 5};
      int[] b = {1, 2, 3, 4, 5};
      int[] c = {1, 2, 4, 4, 5, 6};
      System.out.println(Arrays.mismatch(a, b));
      System.out.println(Arrays.mismatch(a, c));
      System.out.println(Arrays.mismatch(a, 0, 2, c, 0, 2));
      System.out.println(Arrays.mismatch(a, 0, 3, c, 0, 3));
      System.out.println(Arrays.mismatch(a, 2, a.length, c, 2, 5));
   }
}

出力

-1
2
-1
2
0

  1. Java 9でのクラスローダーの変更点は何ですか?

    すべてのJavaプログラムはJava仮想マシン(JVM)で実行されます 。コンパイル後、Javaクラスはプラットフォームに変換されます およびマシンに依存しないバイトコード 、およびコンパイルされたクラスは .classとして保存されます ファイル。使用しようとするときはいつでも、 ClassLoader そのクラスをメモリにロードします。クラスは、名前で参照されるときにJava環境に導入されます。クラスのロードは、クラスの実行が開始されると、クラスローダーによって実行され、 main() メソッドはそのクラスを開始する方法です。 Java 9のクラスローダーのマイナーな変更はほとんどあり

  2. Java 9での@Deprecatedアノテーションの改善点は何ですか?

    @Deprecatedで注釈を付けることができる要素 この特定の要素が以下の理由で使用されなくなったことを意味します 使用するのは危険であり、エラーが発生する可能性があります。 将来のバージョンでは互換性がなくなる可能性があります。 将来のバージョンで削除される可能性があります。 より優れた、より効率的なソリューションがそれに取って代わりました。 Java 9には、次の2つの新しい要素が追加されています。以降 およびforRemoval 属性。 1)以降: この要素は、注釈付きAPI要素の非推奨バージョンを指定します。 2)forRemoval: 注釈付きのAPI要素を表す