2 votes

Comment puis-je imprimer tous les éléments d'un tableau après un élément spécifique en Java ?

Supposons que j'ai un tableau String args[] avec une certaine quantité d'éléments.
Disons que ça va jusqu'à args[100] . Je veux imprimer tous les éléments de args[] au-dessus de args[5] . Je ne veux pas faire System.out.println(args[6] + args[7] + args[8] + args[9] + args[10]); et ainsi de suite. Je me demande s'il existe un moyen plus propre et plus efficace d'imprimer tous ces éléments de tableau.
Merci.

2voto

Majed Badawi Points 17281

Vous pouvez utiliser un simple for-loop :

for(int i = 6; i < args.length; i++) System.out.print(args[i]);

1voto

DaFoot Points 676

Vous avez besoin d'une boucle.

Dans votre cas, en supposant un JDK moderne, j'utiliserais stream et lambdas :

Arrays.stream(arr)
  .skip(5)
  .forEach(System.out::println);

Pour la boucle, probablement le plus commun, certainement dans les bases de code plus anciennes sans lambdas et streaming :

    for(int i = 5; i< arr.length; i++) {
        System.out.println(arr[i]);
    }

0voto

Arvind Kumar Avinash Points 49501

Vous pouvez utiliser IntStream#range comme indiqué ci-dessous :

IntStream.range(5, arr.length).forEach(i -> System.out.print(arr[i]));

Démonstration :

import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        String arr[] = { "a", "b", "c", "d", "e", "f", "g" };
        IntStream.range(2, arr.length).forEach(i -> System.out.print(arr[i]));
    }
}

Sortie :

cdefg

0voto

Vous pouvez utiliser dropWhile qui renvoie la méthode :

...un flux constitué des éléments restants de ce flux après avoir éliminé un sous-ensemble d'éléments qui correspondent au prédicat donné.

Ejemplo:

int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};

Arrays.stream(arr).dropWhile(i -> i != 5).forEach(System.out::print); // 56789

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X