Sachez à peu près ce que vous pouvez faire avec stream. Je n'ai pas peur de le voir pour le moment. J'essaye de l'appeler d'une manière ou d'une autre.
//Par exemple, faites une liste comme celle-ci
List<String> list = new ArrayList<String>();
list.add("sample");
list.add("sample1");
list.add("sample2");
list.add("sample3");
list.add("sample4");
list.add("sample5");
list
.stream() //Commencer le traitement de la collection cible
.filter(s -> s.length() == 6) //Opération intermédiaire (traitement)
.forEach(s -> System.out.println(s)); //Opération de résiliation (dernier traitement)
//Échantillon de sortie uniquement
De cette manière, en utilisant la méthode de collecte stream (), effectuez certaines opérations intermédiaires et enfin effectuez l'opération de terminaison pour le former.
stream () est utilisé dans List, mais Stream existe en tant qu'interface simplement parce que List a une méthode. Alors
Stream<String> st = list.stream();
st.forEach(s -> System.out.println(s));
Vous pouvez également faire quelque chose comme.
forEach Notez que c'est une méthode void
list.stream().forEach(s -> sampleClass.stringList.add(s));
sampleClass.stringList.stream().forEach(s -> System.out.println(s));
collect Utilisez collect () car il ne renvoie pas List même si vous jouez avec stream ()
List<String>editList = list.stream().filter(s -> s.length() == 6).collect(Collectors.toList());
editList.stream().forEach(s -> System.out.println(s));
Il existe d'autres opérations telles que count () qui retourne le nombre d'éléments
Après cela, insérez simplement diverses opérations intermédiaires Liste des éléments susceptibles d'être utilisés fréquemment
.stream()
.distinct() //Suppression en double
.filter(s -> !s.isEmpty()) // isEmpty()Non seulement partir
.sorted() //Montant simplement
.sorted(Comparator.reverseOrder()) //Descendant simplement
.map(changeToLength) //Utiliser la fonction créée
.forEach(s -> System.out.println(s));
La fonction créée est la suivante
//Créez une fonction appelée changeToLength avec String comme argument et Integer comme valeur de retour
//Pour String s{}Effectuez le traitement à l'intérieur.
Function<String, Integer> changeToLength= (String s) -> {
return s.length();
};
Recommended Posts