Quelle est la façon la plus simple de convertir un Tableau de Chaîne de type int Tableau à l'aide de Java 8?
Je suis en train d'apprendre à utiliser Java et mon ami m'a dit que ce bloc de code peut être simplifié en utilisant Java 8. Il a souligné que la parseIntArray
pourrait être simplifié. Comment voulez-vous le faire en Java 8?
public class Solution {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String[] tokens = input.nextLine().split(" ");
int[] ints = parseIntArray(tokens);
}
static int[] parseIntArray(String[] arr) {
int[] ints = new int[arr.length];
for (int i = 0; i < ints.length; i++) {
ints[i] = Integer.parseInt(arr[i]);
}
return ints;
}
}
OriginalL'auteur Irvin Denzel Torcuato | 2014-10-11
Vous devez vous connecter pour publier un commentaire.
Par exemple:
Afin de prendre un
Stream
de laString[]
. UtilisationmapToInt
appelerInteger.parseInt
pour chaque élément et de le convertir en unint
. Puis il suffit d'appelertoArray
sur la résultanteIntStream
pour retourner un tableau.Java 8, oui.
Integer::parseInt
ce::
travaille ici?c'est de Java 8 de la syntaxe, de lire à ce sujet le tuto.
Comment obtenez-vous int tableau[] au lieu de int tableau []?
OriginalL'auteur Boris the Spider
Vous pouvez sauter la création du jeton
String[]
tableau:Le résultat de
Pattern.compile(" ")
peut être conservé et réutilisé, bien sûr.splitAsStream
.OriginalL'auteur Holger
Vous pouvez, également, d'obtenir le tableau directement à partir d'un split:
Ici,
Arrays
a quelques belles méthodes pour obtenir le flux à partir d'un tableau, de sorte que vous pouvez diviser directement dans l'appel. Après cela, appelmapToInt
avecInteger::valueOf
pour obtenir leIntStream
ettoArray
pour sélectionner votre tableau int.OriginalL'auteur Shirkam