Kotlinには多くの速記と興味深い機能があります。ですから、文字列の配列を整数の配列に変換するための高速で短い方法があるのだろうかと思います。 Pythonのこのコードに似ています:
results = [int(i) for i in results]
_.map { ... }
_ を .toInt()
または .toIntOrNull()
と組み合わせて使用できます。
_val result = strings.map { it.toInt() }
_
結果のみが配列ではなくリストです。パフォーマンスが重要でないコードでは、配列よりもリストを使用することをお勧めします。 違い を参照してください。
配列が必要な場合は、 .toTypedArray()
または .toIntArray()
を追加します。
List
を実装するRandomAccess
構造体(ArrayList
やArray
など)を変換しようとしている場合、このバージョンを使用してパフォーマンスを向上できます。
IntArray(strings.size) { strings[it].toInt() }
このバージョンは、基本的なforループとint[]
:
int size = strings.size();
int[] result = new int[size];
int index = 0;
for(int newLength = result.length; index < newLength; ++index) {
String numberRaw = strings.get(index);
int parsedNumber = Integer.parseInt(numberRaw);
result[index] = parsedNumber;
}
私は次のようなシンプルなものを使用します
val strings = arrayOf("1", "2", "3")
val ints = ints.map { it.toInt() }.toTypedArray()
または、拡張機能を使用している場合:
fun Array<String>.asInts() = this.map { it.toInt() }.toTypedArray()
strings.asInts()