SlideShare a Scribd company logo
1 of 53
Download to read offline
interface	EjemploDefault{
				default	void	porDefecto(){
								System.out.println("Este	por	defecto");
				}
}
public	class	EjemploDefaultApp	implements	EjemploDefault{
				public	static	void	main(String[]	args)	{
								EjemploDefaultApp	obj	=	new	EjemploDefaultApp();
								obj.porDefecto();
				}
}
interface	EjemploConStatic	{
				static	void	esteEsStatic(String	mensaje){
							System.out.println("Pues	estatico	desde	interface	con	:	"	+	mensaje);
				}
}
public	class	EjemploConStaticApp	implements	EjemploStatic	{
				public	static	void	main(String[]	args)	{
								EjemploConStatic.esteEsStatic("un	par");
				}
}
@FunctionalInterface	//	No	es	obligatorio	ponerlo
interface	Cultivable{
				void	cultivar(String	cultivo);
}
public	class	InterfazFuncional	implements	Cultivable{
				public	void	cultivar(String	cultivo){
								System.out.println("cultivando	"	+	cultivo);
				}
				public	static	void	main(String[]	args)	{
								InterfazFuncional	funcional	=	new	InterfazFuncional();
								funcional.cultivar("patatas");
				}
}
interface	PorDefecto	{
				default	void	porDefecto()	{	System.out.println("Por	defecto");	}
}
@FunctionalInterface
interface	MiInterfazFuncional	extends	PorDefecto	{
				void	funciona(String	mensaje);
}
public	class	EjemploComplejo	implements	MiInterfazFuncional	{
				public	void	funciona(String	mensaje)	{	System.out.println(mensaje);}
				public	static	void	main(String[]	args)	{
								EjemploComplejo	funcional	=	new	EjemploComplejo();
								funcional.funciona("Y	es	la	leche!");
								funcional.porDefecto();
				}
}
(T,	U)->{}
()->{return	R}
(T,	U)->{return	R}
(T,	U)->{return	B}
(T,	T)->{return	T}
(args)->{body}
interface	Buscar{
				public	void	buscar();
}
public	class	SinExpresionLambda	{
				public	static	void	main(String[]	args)	{
								int	encontrados=3;
								Buscar	b	=	new	Buscar()	{
												public	void	buscar()	{
																System.out.println("encontrado	"+encontrados);
												}
								};
								b.buscar();
				}
}
@FunctionalInterface
interface	Buscar{
				public	void	buscar();
}
public	class	ConExpresionLambda	{
				public	static	void	main(String[]	args)	{
								int	encontrados=3;
								Buscar	b=()->System.out.println("encontrado	"+encontrados);
								b.buscar();
				}
}
Clase::nombreDeMetodoEstatico
interface	Construible{
				void	construir();
}
public	class	MetodoEstatico	{
				public	static	void	construyendoAlgo(){
								System.out.println("Dandole	al	pico	y	la	pala");
				}
				public	static	void	main(String[]	args)	{
								Construible	construible	=	MetodoEstatico::construyendoAlgo;
								construible.construir();
				}
}
objetoInstanciado::nombreDeMetodoDeInstancia
interface	Vendible{
				void	vender();
}
public	class	MetodoDeInstancia	{
				public	void	vendiendoAlgo(){
								System.out.println("Ahora	tienes	pasta	en	vez	de	móvil.");
				}
				public	static	void	main(String[]	args)	{
								MetodoDeInstancia	metodo	=	new	MetodoDeInstancia();
								Vendible	vendible	=	metodo::vendiendoAlgo;
								vendible.vender();
								Vendible	otraForma	=	new	MetodoDeInstancia()::vendiendoAlgo;
								otraFormaDeVender.vender();
				}
}
Clase::new
interface	Almacen{
				Arma	getArma(String	arma);
}
class	Arma{
				Arma(String	arma){
								System.out.print("Toma	una	"	+	arma	+	"	del	calibre	42");
				}
}
public	class	ReferenciaAlConstructor	{
				public	static	void	main(String[]	args)	{
								Almacen	almacen	=	Arma::new;
								Arma	porra	=	almacen.getArma("Porra");
				}
}
public	class	EjemploSinOptional	{
				public	static	void	main(String[]	args)	{
								String[]	cadena	=	new	String[3];
								String	cadenaEnMinusculas	=	cadena[2].toLowerCase();
								System.out.print(cadenaEnMinusculas);
				}
}
public	class	EjemploConOptional	{
				public	static	void	main(String[]	args)	{
								String[]	cadena	=	new	String[3];
								Optional<String>	testNull	=	Optional.ofNullable(cadena[2]);
								if	(testNull.isPresent())	{
												String	cadenaEnMinusculas	=	cadena[2].toLowerCase();
												System.out.println(cadenaEnMinusculas);
								}	else	{
												System.out.println("No	hay	cadena	en	la	posición	indicada");
								}
				}
}
public	class	EjemploSinStream	{
				public	static	void	main(String[]	args)	{
								List<Producto>	productos	=	new	ArrayList<Producto>();
								for	(int	i	=	0;	i	<	200000000;	i++)	{
												int	random	=	new	Random().nextInt(10	-	100)	+	10;
												productos.add(new	Producto(random));
								}
								List<Float>	precios	=	new	ArrayList<Float>();
								for	(Producto	producto	:	productos)	{
												if	(producto.precio	<	20)	{
																precios.add(producto.precio);
												}
								}
				}
}
public	class	EjemploConStream	{
				public	static	void	main(String[]	args)	{
								List<Producto>	productos	=	new	Random().ints(200000000,	10,	100)
												.map(random	->	new	Product(random))
												.collect(Collectors.toList());
								List<Float>	preciosStream	=	productos.stream()
												.filter(product	->	product.getPrecio()	<	20)
												.map(product	->	p.getPrecio())
												.collect(Collectors.toList());
				}
}
default	void	forEach(Consumer<super	T>	action)
public	class	EjemploForEach	{
				public	static	void	main(String[]	args)	{
								List<String>	crimenes	=	new	ArrayList<String>();
								crimenes.add("Asesinamiento");
								crimenes.add("Tener	mal	gusto");
								crimenes.add("Faltas	de	ortografía");
								crimenes.add("Bocata	de	chorizo	con	nocilla");
								crimenes.forEach(crimen	->	{
												System.out.println("Es	un	crimen	el	"	+	crimen)
								});
				}
}
public	class	EjemploCollectors	{
				public	static	void	main(String[]	args)	{
								List<Pelicula>	peliculas	=	new	ArrayList<>();
								peliculas.add(new	Pelicula(1,	"ESDLA",	25));
								peliculas.add(new	Pelicula(2,	"Piratas	del	Caribe",	30));
								peliculas.add(new	Pelicula(3,	"Spiderman",	28));
								peliculas.add(new	Pelicula(4,	"Wonder	Woman",	27));
								List<Float>	precios	=	peliculas.stream()
												.map(p	->	p.getPrecio())
												.collect(Collectors.toList());
								System.out.println(precios);
								DoubleSummaryStatistics	total	=	peliculas.stream()
												.collect(Collectors.summarizingDouble(p	->	p.getPrecio()));
								System.out.println("Total:	"	+	total.getSum());
				}
}
import	java.util.Arrays;
public	class	OrdenarArraysEnParalelo	{
				public	static	void	main(String[]	args)	{
								int[]	aOrdenar	=	{5,8,1,0,6,9};
								System.out.print("A	Ordenar	:	");
								for	(int	i	:	aOrdenar)	{
												System.out.print(i+"	");
								}
								Arrays.parallelSort(aOrdenar);
								System.out.println("Array	Ordenado:	");
								for	(int	i	:	aOrdenar)	{
												System.out.print(i+"	");
								}
				}
}
public	class	HoraActual	{
		public	static	void	main(String[]	args)	{
				DateTimeFormatter	formattter	=	
								DateTimeFormatter.ofPattern("dd/MM/yyyy	HH:mm:ss");
				ZonedDateTime	now	=	ZonedDateTime.now();
				System.out.println(formattter.format(now));
				System.out.println(formattter.format(now.plus(Duration.ofHours(2))));
				System.out.println(formattter.format(now.plus(Period.ofDays(2))));
		}
}
Java 8
Java 8

More Related Content

What's hot

What's hot (17)

Comandos java
Comandos javaComandos java
Comandos java
 
Java 8
Java 8Java 8
Java 8
 
Funciones
FuncionesFunciones
Funciones
 
Fundamentos de la programación
Fundamentos de la programaciónFundamentos de la programación
Fundamentos de la programación
 
Clase 11 De Septiembre 2009
Clase 11 De Septiembre 2009Clase 11 De Septiembre 2009
Clase 11 De Septiembre 2009
 
7 Ventajas de Funciones en PHP
7 Ventajas de Funciones en PHP7 Ventajas de Funciones en PHP
7 Ventajas de Funciones en PHP
 
Awt
AwtAwt
Awt
 
Estructura de un programa en c
Estructura de un programa en cEstructura de un programa en c
Estructura de un programa en c
 
Javadoc
JavadocJavadoc
Javadoc
 
2 f programas
2 f programas2 f programas
2 f programas
 
Practica 2
Practica 2Practica 2
Practica 2
 
San Luis Oct 2008
San Luis Oct 2008San Luis Oct 2008
San Luis Oct 2008
 
Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...
Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...
Rompiendo dependencias contenidas en ensamblados .NET mediante la refactoriza...
 
Administracion de-sistemas-operativos apuntes-v2-4
Administracion de-sistemas-operativos apuntes-v2-4Administracion de-sistemas-operativos apuntes-v2-4
Administracion de-sistemas-operativos apuntes-v2-4
 
Ejemplos recursividad.docx
Ejemplos recursividad.docxEjemplos recursividad.docx
Ejemplos recursividad.docx
 
Unidad6 funciones
Unidad6 funcionesUnidad6 funciones
Unidad6 funciones
 
Introducción a TDD y PHPUnit
Introducción a TDD y PHPUnitIntroducción a TDD y PHPUnit
Introducción a TDD y PHPUnit
 

Similar to Java 8 (20)

Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeans
 
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
Ejerciciosdeprogramacionconcurrente 111021172712-phpapp01
 
Clase 21 programacion ejb 3.0
Clase 21 programacion ejb 3.0Clase 21 programacion ejb 3.0
Clase 21 programacion ejb 3.0
 
2 f programas
2 f programas2 f programas
2 f programas
 
Sockets
SocketsSockets
Sockets
 
Clases abstractas
Clases abstractasClases abstractas
Clases abstractas
 
Manejo de excepciones en Java
Manejo de excepciones en JavaManejo de excepciones en Java
Manejo de excepciones en Java
 
Guia para examen java
Guia para examen javaGuia para examen java
Guia para examen java
 
Javaintroduccion 2010
Javaintroduccion 2010Javaintroduccion 2010
Javaintroduccion 2010
 
Taller de programación clase #3
Taller de programación   clase #3Taller de programación   clase #3
Taller de programación clase #3
 
Hola mundo
Hola mundoHola mundo
Hola mundo
 
Ejercicios3
Ejercicios3Ejercicios3
Ejercicios3
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++
 
Ejercicios tema1
Ejercicios tema1Ejercicios tema1
Ejercicios tema1
 
Unidad iii pilas y colas
Unidad iii pilas y colasUnidad iii pilas y colas
Unidad iii pilas y colas
 
Unit Testing - GTUG
Unit Testing - GTUGUnit Testing - GTUG
Unit Testing - GTUG
 
Ejemplos de estructura de control semestre 2
Ejemplos de estructura de control semestre 2Ejemplos de estructura de control semestre 2
Ejemplos de estructura de control semestre 2
 
P2C5 Introducción a JEE5 - II
P2C5 Introducción a JEE5 - IIP2C5 Introducción a JEE5 - II
P2C5 Introducción a JEE5 - II
 
Patrones utiles para solid
Patrones utiles para solidPatrones utiles para solid
Patrones utiles para solid
 
Documento2
Documento2Documento2
Documento2
 

More from Adolfo Sanz De Diego

De 0 a 100 con Bash Shell Scripting y AWK
De 0 a 100 con Bash Shell Scripting y AWKDe 0 a 100 con Bash Shell Scripting y AWK
De 0 a 100 con Bash Shell Scripting y AWKAdolfo Sanz De Diego
 
Desarrollo de aplicaciones descentralizadas en la Blockchain de Ethereum
Desarrollo de aplicaciones descentralizadas en la Blockchain de EthereumDesarrollo de aplicaciones descentralizadas en la Blockchain de Ethereum
Desarrollo de aplicaciones descentralizadas en la Blockchain de EthereumAdolfo Sanz De Diego
 
Codemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipsterCodemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipsterAdolfo Sanz De Diego
 
Codemotion 2017 - La Revolución del Software Libre
Codemotion 2017 - La Revolución del Software LibreCodemotion 2017 - La Revolución del Software Libre
Codemotion 2017 - La Revolución del Software LibreAdolfo Sanz De Diego
 
Open Expo 2017 - La Revolución del Software Libre
Open Expo 2017 - La Revolución del Software LibreOpen Expo 2017 - La Revolución del Software Libre
Open Expo 2017 - La Revolución del Software LibreAdolfo Sanz De Diego
 
JustiApps #hackTheJustice - Y si quiero desarrollar mi propia app, ¿qué debo ...
JustiApps #hackTheJustice - Y si quiero desarrollar mi propia app, ¿qué debo ...JustiApps #hackTheJustice - Y si quiero desarrollar mi propia app, ¿qué debo ...
JustiApps #hackTheJustice - Y si quiero desarrollar mi propia app, ¿qué debo ...Adolfo Sanz De Diego
 
¿Qué es un hackathon y por qué deberías asistir?
¿Qué es un hackathon y por qué deberías asistir?¿Qué es un hackathon y por qué deberías asistir?
¿Qué es un hackathon y por qué deberías asistir?Adolfo Sanz De Diego
 
Nuestro primer HackLab -We want you for HackthonLovers #wantu4hl
Nuestro primer HackLab -We want you for HackthonLovers #wantu4hlNuestro primer HackLab -We want you for HackthonLovers #wantu4hl
Nuestro primer HackLab -We want you for HackthonLovers #wantu4hlAdolfo Sanz De Diego
 

More from Adolfo Sanz De Diego (20)

Redes
RedesRedes
Redes
 
Computación
ComputaciónComputación
Computación
 
Angular
AngularAngular
Angular
 
TypeScript
TypeScriptTypeScript
TypeScript
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
De 0 a 100 con Bash Shell Scripting y AWK
De 0 a 100 con Bash Shell Scripting y AWKDe 0 a 100 con Bash Shell Scripting y AWK
De 0 a 100 con Bash Shell Scripting y AWK
 
Desarrollo de aplicaciones descentralizadas en la Blockchain de Ethereum
Desarrollo de aplicaciones descentralizadas en la Blockchain de EthereumDesarrollo de aplicaciones descentralizadas en la Blockchain de Ethereum
Desarrollo de aplicaciones descentralizadas en la Blockchain de Ethereum
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Codemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipsterCodemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipster
 
Codemotion 2017 - La Revolución del Software Libre
Codemotion 2017 - La Revolución del Software LibreCodemotion 2017 - La Revolución del Software Libre
Codemotion 2017 - La Revolución del Software Libre
 
Git, Github y Markdown
Git, Github y MarkdownGit, Github y Markdown
Git, Github y Markdown
 
Open Expo 2017 - La Revolución del Software Libre
Open Expo 2017 - La Revolución del Software LibreOpen Expo 2017 - La Revolución del Software Libre
Open Expo 2017 - La Revolución del Software Libre
 
JustiApps #hackTheJustice - Y si quiero desarrollar mi propia app, ¿qué debo ...
JustiApps #hackTheJustice - Y si quiero desarrollar mi propia app, ¿qué debo ...JustiApps #hackTheJustice - Y si quiero desarrollar mi propia app, ¿qué debo ...
JustiApps #hackTheJustice - Y si quiero desarrollar mi propia app, ¿qué debo ...
 
¿Qué es un hackathon y por qué deberías asistir?
¿Qué es un hackathon y por qué deberías asistir?¿Qué es un hackathon y por qué deberías asistir?
¿Qué es un hackathon y por qué deberías asistir?
 
Codemotion 2016 - Hackathones 101
Codemotion 2016 - Hackathones 101Codemotion 2016 - Hackathones 101
Codemotion 2016 - Hackathones 101
 
Hackeando el #psd2Hackathon
Hackeando el #psd2HackathonHackeando el #psd2Hackathon
Hackeando el #psd2Hackathon
 
Open Expo 2016 - Ética Hacker
Open Expo 2016 - Ética HackerOpen Expo 2016 - Ética Hacker
Open Expo 2016 - Ética Hacker
 
Nuestro primer HackLab -We want you for HackthonLovers #wantu4hl
Nuestro primer HackLab -We want you for HackthonLovers #wantu4hlNuestro primer HackLab -We want you for HackthonLovers #wantu4hl
Nuestro primer HackLab -We want you for HackthonLovers #wantu4hl
 
T3chFest - 2016 - Ética Hacker
T3chFest - 2016 - Ética HackerT3chFest - 2016 - Ética Hacker
T3chFest - 2016 - Ética Hacker
 
Git, GitHub y Markdown
Git, GitHub y MarkdownGit, GitHub y Markdown
Git, GitHub y Markdown
 

Recently uploaded

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Recently uploaded (10)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Java 8