1. ホーム
  2. java

[解決済み] 配列のすべての値を設定する最速の方法は?

2023-07-25 09:29:23

質問

私は char [] があり、各インデックスの値を同じ char の値にしたい。

という当たり前の方法があります(反復)。

  char f = '+';
  char [] c = new char [50];
  for(int i = 0; i < c.length; i++){
      c[i] = f;
  }

を利用する方法はないだろうか? System.arraycopy または同等のものを利用して、反復処理の必要性を回避する方法はないかと考えています。そのような方法はあるのでしょうか?

EDIT : から Arrays.java

public static void fill(char[] a, int fromIndex, int toIndex, char val) {
        rangeCheck(a.length, fromIndex, toIndex);
        for (int i = fromIndex; i < toIndex; i++)
            a[i] = val;
    }

これは全く同じ処理で、もっと良い方法がないかと言うことを示しています。

提案した全員に+1 fill とにかく - 皆さんの言うとおりで、ありがとうございました。

どのように解決するのですか?

試しに Arrays.fill(c, f) : 配列の javadoc