Java Flux de moins tableau d'objets

jeunes:

J'ai une liste de tableau de 2 objets:

List<Object[2]>

Lorsqu'un objet [0] est un nombre entier et de l'objet [1] est une chaîne.

Comment puis-je diffuser la liste et d'appliquer des fonctions différentes sur chaque objet? De sorte que, le résultat sera un tableau ayant:

result[0] = multiplication of all object[0]
result[1] = concatenation of all object[1]
Vincent Passau :

Vous pouvez y parvenir avec reduce():

public void testStacko() {
    List<Object[]> list = new ArrayList<>();
    list.add(new Object[] {1, "foo"});
    list.add(new Object[] {6, "|bar"});
    list.add(new Object[] {15, "|baz"});
    Object[] array = list.stream()
                         .reduce(
                                  (obj1, obj2) -> 
                                   new Object[] {(int) obj1[0] * (int) obj2[0], 
                                                 (String) obj1[1] + (String) obj2[1]
                                                }
                                )
                         .get();
    System.out.println(array[0]); // 90
    System.out.println(array[1]); // foo|bar|baz
}

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=226062&siteId=1
conseillé
Classement