参照なしのオブジェクトのJavascriptコピー配列

| | | | | | | | | | | | | | | | | | | | | |

Javaで配列を操作する場合、配列のコピーを作成することを決定できます。たとえば、カフェを経営していて季節のメニューを作成したい場合は、新しいメニューのベースとなる元のメニューのコピーを作成できます。

Javaでは、コピーする方法がいくつかあります。配列。このチュートリアルでは、テーブルをコピーする4つの一般的な方法を調べ、それらが行ごとにどのように機能するかについて説明します。このチュートリアルを読むと、Javaでテーブルをコピーするマスターになります。

Java配列

Javaでは、配列は、単一の値を含む値を保持するコンテナです。タイプ。たとえば、テーブルを使用して、ダーツのゲームでプレーヤーが獲得した本のリストやスコアのリストを保存できます。

配列は、多くの値を処理する場合に便利です。 Äãコレクションに保存できるからです。これにより、コードを凝縮し、同じ値で同じメソッドを同時に実行できます。

「コーヒーショップで販売されたコーヒーを格納する配列を作成したい」という言葉。次のコードを使用して実行できます。

String [] =coffees {"Espresso"、 "Mocha"、 "Latte"、 "cappuccino"、 "Versare Over"、 "Flat white"} ;

この例では、文字列値を格納する cafesという配列を宣言します。配列には6つの値が含まれています。

配列の各要素には、0から始まるインデックス番号が割り当てられ、配列内の個々の要素を参照するために使用できます。

Java配列の基本について説明したので、テーブルの内容をコピーするために使用できる方法について説明します。

代入演算子を使用して配列をコピーします

配列をコピーするために最も一般的に使用されるクローニング方法の1つは、代入演算子を使用することです。

代入演算子は、配列に値を割り当てるために使用されます。代入演算子を使用して、代入することができます。既存の配列の内容を新しい変数に変換すると、既存の配列のコピーが作成されます。

コーヒーショップに戻りましょう。cafes<のコピーを作成するとします。 / code>サマーコーヒーメニューのベースとなる配列。このコードを使用して、配列のコピーを作成できます。

コードが返されます:

エスプレッソ、モカ、ラテ、カプチーノ、ポアオーバー、フラットホワイト、

コードの降順からの脱却。 CopyAssignmentクラスのコードの最初の行で、標準のカフェメニューを格納する cafesという配列を宣言します。

次の行では、割り当て演算子を使用して割り当てます。 cafesの値をsummer_coffeesという新しい配列に変更します。次に、各 summer_coffees 配列要素を渡し、コンソールに出力する「for-each、"ループ」を作成します。

このメソッドを使用することには欠点があります。一方の配列の要素、もう一方の配列も変更されます。したがって、 summer_coffeeリストのLatte Summer Latteの値を変更した場合はcoffeeリストも変更されます

配列をコピーするループ

配列をコピーするために説明した最初のアプローチ-。割り当て演算子を使用して-いわゆるcopyshallowを作成します。これは、既存の配列オブジェクトを新しい配列オブジェクトに割り当てたためです。つまり、オブジェクトを変更すると、両方が変更されます。つまり、2つのオブジェクトです。関連しています

ただし、多くの場合、ディープコピーを作成する必要があります。ディープコピーは、既存のオブジェクトの値をコピーして、新しい配列オブジェクトを作成します。フルコピーを作成するときに、新しいオブジェクトを編集できます。オリジナルに影響を与えずにテーブル。< / p>

完全なコピーを作成するために使用できる1つのアプローチは、配列の内容を介して ループを作成し、新しい配列を作成することです。

summer_coffeesという名前のcafesテーブルの完全なコピーを作成したい。summer_coffeesの内容を変更するため、これは完全なコピーである必要があります。夏に提供する新しいコーヒーを反映した表。

ループを使用してディープコピーを作成するために使用するコードは次のとおりです。

コードを実行すると、出力は次のようになります。

[Espresso、Mocha、Latte、Cappuccino、Pour over、Flat White]

ご覧のとおり、コードは元の配列のコピーを作成しました。それがどのように機能するかを段階的に説明します:

  1. toString()メソッドを含む java.util.Arrays をインポートし、それを使用して配列を例の最後にコンソールがあります。
    1. コーヒーリストを標準メニューに格納するcafesという配列を宣言します。
    2. 6つの値を格納できるsummer_coffeesという配列を初期化します。
    3. ループを使用して、カフェのリスト内の各アイテムを反復処理します。
    4. ループが実行されるたびに、summer_coffeesのインデックス i の値を持つ要素には、カフェのコードインデックス値<> iの要素が割り当てられます。
    5. Arrays.toString()を使用して summer_coffees を文字列に変換し、コピーしたアイテムを含む新しい配列をコンソールに出力します。

Java copyOfRange()メソッドの使用

Java copyOfRange()メソッドによる配列のコピー.copyOfRange( )はjava.util.Arraysクラスの一部です。copyOfRange()メソッドの構文は次のとおりです。

copyOfRange()メソッドの構文を分析します。

  1. DataType は、新しいデータ型です。配列は格納されます。
  2. newArrayは新しい配列の名前です。
  3. oldArray は、値が「Äã」の配列です。 「newArrayディレクトリにコピーします。
  4. indexPos は、 oldArrayでコピー操作を開始する場所です。
  5. 長さは、 oldArray newArrayからコピーする必要のある値の数です。
  6. < / ol>

    実際のcopyOfRange()メソッドを説明する例を見てみましょう。以前のcafes配列のコピーを作成するとします。これは、次のコードを使用して行うことができます。

    コードが返されます:

    サマーコーヒー:[エスプレッソ、モカ、ラテ、カプチーノ、ポアオーバー、フラットホワイト]

    コードを分解します:

    1. copyOfRange()メソッドとtoString()を格納する java.util.Arraysライブラリをインポートします。この例では使用します。
    2. コーヒーを標準メニューに保存するcafesという配列を宣言します。
    3. summer_coffees を選択し、copyOfRange()メソッドを使用してcafes配列のコピーを作成します。指定するパラメータは次のとおりです。
      1. cafes は、コピーするテーブルの名前です
      2. は、次のことを示します。私たち。 0のインデックスの位置から始まる値をコピーしたいcoffeetable
      3. coffees.length は、各値をにコピーしたいことを示します。リスト
      4. 「サマーコーヒー:」を印刷します。続いて、コンソールに summer_coffeesという名前の配列が続きます
      5. これで、という名前の cafeリストのコピーが作成されました。 summer_coffees

        Java Arraycopy()メソッドの使用

        arraycopy()メソッドは、あるネットワークから別のネットワークにデータをコピーするために使用されます。 arraycopy()メソッドはシステムクラスの一部であり、既存の配列のコピーをカスタマイズできる一連のオプションが含まれています。

        arraycopy()メソッドの構文は次のとおりです。< br>

        System.arraycopy(sourceArray、StartingPos、newArray、newArrayStartingPos、length);

        このLetdownメソッドを解除します。 copyarray()は5つのパラメータを取ります:

        • sourceArray は、コピーする配列の名前です
        • startingPos。 は、値のコピーを開始するインデックスの場所であり、 source_arrayにコピーします。
        • newArrayは名前です。値がコピーされる新しい配列の例。
        • newArrayStartingPos は、コピーされた値が追加されるインデックス位置です。
        • 長さは、 new_arrayディレクトリにコピーする要素の数です。

        コーヒーショップに戻ります。 cafes配列の各値をsummer_coffeesという新しい配列にコピーするとします。これは、次のコードを使用して行うことができます。

        コードは次を返します:

summerコーヒー:[エスプレッソ、モカ、ラテ、カプチーノ、ポアオーバー、フラットホワイト]

コードを段階的に分類する-ステップ:

  1. プログラムの開始時にパッケージjava.util.Arraysをインポートします。これには、プログラムの終了時に作成する配列のコピーを印刷するために使用するtoString()メソッドが含まれます。
  2. コーヒーを標準メニューに保存するcoffeesという配列を宣言します。
  3. summer_coffeesという配列を初期化します。これには6つの値が含まれます。
  4. arraycopy()を使用して、cafes配列のコピーを作成します。指定するパラメーターは次のとおりです。
    1. cafes は、コピーする配列です
    2. は、コピーをで開始する位置です。 cafes配列。
    3. summer_coffees は、コピーした値を追加する配列です。
    4. は、コピーした値を summer_coffees配列に追加し始める場所です。
    5. coffees.lengthは配列の数です。コピーしたい要素。この場合、coffees.length を使用すると、 cafesリストから各アイテムをコピーできます。
    6. 印刷します「サマーコーヒー:」というメッセージに続いて、作成したサマーコーヒーのリスト

    結論

    配列のコピーは、リスト。このチュートリアルでは、Javaで配列をコピーする4つの方法について説明しました。

    最初に、代入演算子を使用して浅いコピー深度を作成する方法について説明したので、次に、 ループ。そこで、copyOfRange()メソッドを使用して配列のコピーを作成する方法と、arraycopy()システムメソッドを使用して配列をコピーする方法について説明しました。

    これで、Javaで配列のコピーを開始する準備が整いました。一つとして!pro