[JAVA] Memo Stream

Objectif

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.

code

Forme basique

		//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.

Fondamentalement

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.

Opération de terminaison

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

Utiliser des opérations intermédiaires

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

Memo Stream
Mémo API Stream
Mémo entier
mémo docker
Mémo de Lombok
Mémo Dockerfile
Mémo Itérateur
mémo corretto
Jeu d'Ogawa
Mémo Java
Mémo AWS
Processus de terminaison de flux
Mémo Dcokerfile
tutoriel docker (mémo)
java quoi que ce soit mémo
Mémo d'opération Docker
Mémo astuce Eclipse
Mémo Java Silver
java, mémo maven
Essayez Java 8 Stream
Notes d'utilisation de JavaParser
API Java Stream
Processus de génération de flux
Mémo addictif de SpringBoot-JPA-Hibernate
Remarque sur Java SE 7
Comment installer OpenJDK 11 Memo
Mémo de migration MySQL (1)
Notes d'utilisation de WatchService
Mémo d'utilisation PlantUML
java n'importe quoi mémo 2
Mémo de commande Docker-compose
Étudier Java 8 (Stream)
Mémo de réglage e-Gov
Mémo d'erreur Maven3
Traitement intermédiaire de flux
Terminaison du flux Java
Mémo de spécification Java
[Java] Traitement de flux
Notes d'utilisation de JUnit5
Principes de base de l'API Stream
Java 9 Facultatif :: stream
Mémo de modèle Java