Java 8-functies – Volledige zelfstudie
Java 8 is de langverwachte release van de Java-programmeertaalontwikkeling, omdat het in de hele geschiedenis van Java nooit zoveel belangrijke functies heeft uitgebracht. Het bestaat uit de belangrijkste kenmerken van Java. Het is een nieuwe versie van Java en werd op 18 maart 2014 door Oracle uitgebracht. Java bood ondersteuning voor functioneel programmeren, nieuwe Java 8 API's, een nieuwe JavaScript-engine, nieuwe Java 8 streaming API, functionele interfaces, standaardmethoden, datum-tijd API veranderingen, enz.
Belangrijke Java 8-functies geïntroduceerd
Hieronder worden enkele belangrijke Java 8-functies genoemd:
- Lambda-uitdrukkingen : Beknopte functionele code met behulp van
->>. - Functionele interfaces : Single-methode-interfaces.
- Geïntroduceerde en verbeterde API's:
- Stream-API : Efficiënte gegevensmanipulatie.
- Datum/tijd-API : Robuuste datum- en tijdverwerking.
- Verbeteringen van de verzamelings-API : Verbeterde methoden voor verzamelingen (bijv.
removeIf>,replaceAll>). - Gelijktijdigheid API-verbeteringen : Nieuwe klassen voor parallelle verwerking (bijv.
CompletableFuture>).
- Optionele klasse : Veilig omgaan met nulwaarden.
-
forEach()>Methode in iterabele interface : Voert een actie uit voor elk element in een verzameling. - Standaardmethoden : Evolueer interfaces zonder de compatibiliteit te verbreken.
- Statische methoden : Maakt het mogelijk methoden met standaardimplementaties aan interfaces toe te voegen.
- Methodereferenties : Gemakkelijk naar methoden verwijzen.
Deze zelfstudie behandelt alle belangrijke Java 8-functies, zoals Java 8 API's, Java-arrays, Java 8 ArrayList en nog veel meer in de Java 8-programmeertaal.
Java 8-functies
- Lambda-uitdrukkingen
- Functionele interfaces
- Methodereferentie
- Stromen
- Vergelijkbaar en vergelijkend
- Optionele klasse
- Datum/tijd-API
- Gemengd
Lambda-uitdrukkingen
Lambda Expression drukt in feite een instantie van de functionele interface uit, met andere woorden, je kunt zeggen dat het een duidelijke en beknopte manier biedt om een methode van de functionele interface weer te geven met behulp van een expressie. Lambda-expressies zijn toegevoegd in Java 8.
- Lambda-expressies in Java 8
- Lambda-expressieparameters
- Java Lambda-expressie met collecties
- Lambda-expressievariabele vastleggen met voorbeelden
- Hoe maak je een thread met Lambda-expressies in Java?
- Serialisatie van Lambda-expressie in Java
- Blokkeer Lambda-expressies in Java
- Match Lambda's met interfaces in Java
- ArrayList converteren naar HashMap in Java 8 met behulp van een Lambda-expressie
- Controleer of een string alleen alfabetten in Java bevat met behulp van Lambda-expressie
- Verwijder elementen uit een lijst die voldoen aan een bepaald predikaat in Java
Functionele interfaces
Een interface die slechts één abstracte methode bevat, staat bekend als een functionele interface, maar er zijn geen beperkingen N aantal standaard- en statische methoden binnen een functionele interface.
- Functionele interfaces in Java
- Consumenteninterface in Java met voorbeelden
- BiConsumer-interface in Java met voorbeelden
- Predikaatinterface met voorbeelden
- Functie-interface in Java met voorbeelden
- Leveranciersinterface in Java met voorbeelden
Methodereferentie
Methodereferentie is een verkorte notatie van een lambda-expressie om een methode aan te roepen. Er zijn vier soorten methodereferenties:
- Statische methodereferentie
- Instance Methode Referentie van een bepaald object
- Instance Methode Referentie van een willekeurig object van een bepaald type
- Constructeurreferentie.
Voorbeeld:
numList.stream().filter(n ->n> 5).sorted().forEach(System.out::println);
- Methodereferenties in Java met voorbeelden
- ArrayList naar HashMap converteren met behulp van Method Reference in Java 8
Stromen
Stream API is geïntroduceerd in Java 8 en wordt gebruikt om verzamelingen objecten te verwerken met de functionele coderingsstijl met behulp van de lambda-expressie. Om te begrijpen wat stream-API is, moet u dus kennis hebben van zowel lambda- als functionele interfaces.
- Java 8-stream
- Verschil tussen streams en collecties in Java
- Implementeer de filterfunctie met Reduce in Java 8 Streams
- Java Stream API – Filters
- Parallelle versus sequentiële stream in Java
- Functioneel programmeren in Java 8+ met behulp van de Stream API met voorbeeld
- Tussenliggende methoden voor streamen in Java
- Verschil tussen map() en flatMap() in Java Stream
- Array om te streamen in Java
- 10 manieren om een stream in Java te maken
- Elementen van een stream afdrukken in Java 8
- Een stream verzamelen naar een onveranderlijke verzameling in Java
- Streams vergelijken met loops in Java
- Waarom moet u de Java-streams in Eindelijk blokkeren sluiten?
- Converteer een iterabele naar stream in Java
- Converteer een Iterator naar Stream in Java
- Verschil tussen de methode Stream.of() en Arrays.stream() in Java
- Converteer stream naar set in Java
- Converteer een set naar Stream in Java
- Streams op arrays in Java 8
Java Stream-programma's
Java Streams bieden een krachtige en expressieve manier om reeksen elementen in Java te verwerken, waardoor functionele bewerkingen op gegevensverzamelingen mogelijk worden. De Stream API, geïntroduceerd in Java 8, vergemakkelijkt efficiënte gegevensmanipulatie en -transformatie met behulp van een reeks bewerkingen die parallel of opeenvolgend kunnen worden uitgevoerd
. Java Stream-programma's geven een duidelijk beeld van het onderwerp:
- Programma om een kaart naar een stream in Java te converteren
- Programma om Boxed Array naar Stream in Java te converteren
- Programma om Primitive Array naar Stream in Java te converteren
- Programma om een set te converteren naar streaming in Java met behulp van generieke gegevens
- Programma om lijst naar stream in Java te converteren
- Programma om stream naar een array in Java te converteren
- Hoe Slice of a Stream in Java te krijgen
- Geneste verzamelingen op Java afvlakken
- Hoe u een stream omzet in een kaart in Java
- Zoek het eerste element van een stream in Java
- Zoek het laatste element van een stream in Java
- Hoe dubbele elementen in een stream in Java te vinden
- Tel het voorkomen van een bepaald teken in een tekenreeks met behulp van de Stream API in Java
- Omgekeerde elementen van een parallelle stroom in Java
- Hoe ArrayList uit Stream te halen in Java 8
- Genereer een oneindige stroom dubbel in Java
- Genereer een oneindige stroom gehele getallen in Java
- Programma om een stream te herhalen met indices in Java 8
- Maak een stroom arrays in Java plat met behulp van forEach-lus
- Maak een stroom lijsten in Java plat met behulp van forEach-lus
- Maak een kaartstroom in Java plat met behulp van forEach-lus
- Converteer een tekenreeks naar een lijst met tekens in Java
- Initialiseer een lijst op één regel met een opgegeven waarde met behulp van Java Stream
Java Stream-methoden
Methoden gerelateerd aan een van de krachtigste functies van Java Stream worden hieronder vermeld.
- Stream forEach() -methode in Java met voorbeelden
- Stream forEachOrdered() Methode in Java met voorbeelden
- foreach() lus versus Stream foreach() versus Parallelle Stream foreach()
- Stream of()-methode in Java
- Java Stream findAny() met voorbeelden
- Stream anyMatch() in Java met voorbeelden
- Stream allMatch() in Java met voorbeelden
- Stream filter() in Java met voorbeelden
- Stream gesorteerd (Comparator-comparator) Methode in Java
- Stream gesorteerd() in Java
- Stream.distinct() in Java
- Stream.concat() in Java
- Stream.reduce() in Java met voorbeelden
- stream.limit()-methode in Java
- Stream ofNullable(T)-methode in Java met voorbeelden
- Stream dropWhile() methode in Java met voorbeelden
- Stream iterate (T, Predicate, UnaryOperator) Methode in Java met voorbeelden
- Stream de takeWhile()-methode in Java met voorbeelden
- concat() Methode van streaminterface in Java API
- Stream findFirst() in Java met voorbeelden
- DoubleStream mapToObj() in Java
- Stream.Builder accept() Methode in Java
- IntStream.Builder add() Methode in Java
- DoubleStream.Builder build() in Java
- Stream.Builder build() in Java
- Collectors.joining() Methode met voorbeelden
- Stream builder() in Java met voorbeelden
- Stream empty() in Java met voorbeelden
- LongStream flatMap (LongFunction-mapper) in Java
- LongStream-filter() in Java met voorbeelden
Vergelijkbaar en vergelijkend
Comparable en Comparator zijn interfaces die worden gebruikt om objecten te ordenen. Ze zijn vooral nuttig bij sorteerwerkzaamheden en verzamelingen waarbij een natuurlijke ordening vereist is. Hier zullen we dieper ingaan op Comparable en Comparator.
- Vergelijkbaar versus comparator in Java
- Vergelijkingsinterface in Java met voorbeelden
- Waarom een vergelijkingsinterface gebruiken in plaats van een vergelijkbare interface in Java?
- Sorteer een array van triplet met behulp van Java Comparable en Comparator
- Java-programma om LinkedList te sorteren met behulp van Comparable
- Hoe HashSet-elementen te sorteren met een vergelijkbare interface in Java?
- Sorteer LinkedHashMap op waarden met behulp van een vergelijkbare interface in Java
- Sorteer LinkedHashMap op sleutels met behulp van een vergelijkbare interface in Java
- Hoe LinkedHashSet-elementen sorteren met een vergelijkbare interface in Java?
Optionele klasse
- Java 8 optionele klasse
- Optioneel ofNullable()-methode in Java met voorbeelden
- Optionele orElse()-methode in Java met voorbeelden
- Optionele ifPresentOrElse()-methode in Java met voorbeelden
- Optionele orElseGet()-methode in Java met voorbeelden
- Optionele filter()-methode in Java met voorbeelden
- Optionele empty()-methode in Java met voorbeelden
- Optionele hashCode()-methode in Java met voorbeelden
- Optioneel toString() Methode in Java met voorbeelden
- Optioneel equals() Methode in Java met voorbeelden
- Optionele stream() Methode in Java met voorbeelden
- Optionele or()-methode in Java met voorbeelden
- Optionele get()-methode in Java met voorbeelden
- Optioneel isPresent()-methode in Java met voorbeelden
- Optionele orElseThrow()-methode in Java met voorbeelden
- Optioneel of()-methode in Java met voorbeelden
Datum/tijd-API
In deze sectie leert u omgaan met de steeds veranderende wereld van datums en tijden binnen uw Java-programma's. Ontdek het werken met kalenders, tijdstempels en tijdmanipulatie: essentiële vaardigheden voor het bouwen van applicaties die te maken hebben met deadlines, planning of zelfs historische gegevensanalyse.
- Datum-tijd-API in Java 8
- java.time.LocalDate Klasse in Java
- java.time.LocalTime-klasse in Java
- java.time.LocalDateTime-klasse in Java
- java.time.MonthDay-klasse in Java
- java.time.OffsetTime Klasse in Java
- java.time.OffsetDateTime Klasse in Java
- java.time.Clock-klasse in Java
- java.time.ZonedDateTime-klasse in Java
- java.time.ZoneId-klasse in Java
- java.time.ZoneOffset-klasse in Java
- java.time.Year-klasse in Java
- java.time.YearMonth-klasse in Java
- java.time.Period-klasse in Java
- java.time.Duration Klasse in Java
- java.time.Instant-klasse in Java
- Java 8 Clock instant()-methode met voorbeelden
- Java 8 Clock fixed()-methode met voorbeelden
Gemengd
Java is een veelzijdige en krachtige programmeertaal die een breed scala aan functies en tools omvat, waardoor ontwikkelaars robuuste, krachtige applicaties kunnen bouwen. Laten we een aantal Java-onderwerpen leren. Diverse onderwerpen worden hieronder vermeld:
- Standaardmethoden in Java 8
- Statische methode in Interface in Java
- Kunnen we de standaardmethode in Java overschrijven?
- forEach()-methode in Java
- Nashorn JavaScript-engine in Java met voorbeelden
- MetaSpace in Java 8 met voorbeelden
- Java-klasse-afhankelijkheidsanalysator in Java 8 met voorbeelden
- LongUnaryOperator-interface in Java
- IntUnaryOperator-interface in Java
- DoubleUnaryOperator-interface in Java
- UnaryOperator-interface in Java
- ObjLongConsumer-interface met voorbeeld
- ObjIntConsumer-interface met voorbeeld
- ObjDoubleConsumer-interface met voorbeeld
- DoubleSupplier-interface met voorbeelden
- BooleanSupplier-interface met voorbeelden
- IntSupplier-interface met voorbeelden
- LongSupplier-interface met voorbeelden
- LongConsumer-interface in Java met voorbeelden
- DoubleConsumer-interface in Java met voorbeelden
- IntConsumer-interface in Java met voorbeelden
- LongFunction-interface in Java met voorbeelden
- IntFunction-interface in Java met voorbeelden
- ToDoubleFunction-interface in Java met voorbeelden
- DoubleFunction-interface in Java met voorbeelden
- ToIntFunction-interface in Java met voorbeelden
- LongToIntFunction-interface in Java met voorbeelden
- ToLongFunction-interface in Java met voorbeelden
- LongToDoubleFunction-interface in Java met voorbeelden
- ToLongBiFunction-interface in Java met voorbeelden
- ToIntBiFunction-interface in Java met voorbeelden
- NaarDoubleBiFunction-interface in Java met voorbeelden
- DoubleToLongFunction-interface in Java met voorbeelden
- IntToDoubleFunction-interface in Java met voorbeelden
- IntToLongFunction-interface in Java met voorbeelden
- DoubleToIntFunction-interface in Java met voorbeeld
- ArrayDeque removeIf()-methode in Java met voorbeelden
Conclusie
Java 8 heeft veel opwindende functies gebracht die het tot een krachtig hulpmiddel voor ontwikkelaars maken. Met de introductie van Lambda-expressies, Stream API en de nieuwe Date and Time API heeft Java 8 de code-efficiëntie en leesbaarheid verbeterd. Met deze Java 8-functies kunnen ontwikkelaars flexibelere en beknoptere code schrijven, waardoor hun werk eenvoudiger en leuker wordt. Over het geheel genomen blijft Java 8 een waardevolle update die de Java-programmeertaal aanzienlijk heeft verbeterd.
Java 8-functies – Veelgestelde vragen
Vraag 1: Wat zijn de kenmerken van java8?
- standaard en statische methoden
- Functionele interfaces en Lambda-expressies
- Verzamel-API
- Java Time-API
- forEach() methode
- Gelijktijdigheid-API
- Java Stream-API
Vraag 2: Welke voordelen biedt Java 8?
- De code is beknopter en leesbaarder
- Code is beter herbruikbaar
- Code is beter testbaar en onderhoudbaar
- Code is nu zowel opvraagbaar als gelijktijdig
- Gebruikers kunnen parallelle code schrijven
- Gebruikers kunnen database-achtige bewerkingen schrijven
- Applicaties presteren nu beter
- Code is veel productiever
Vraag 3: Wat is een functionele interface?
Een functionele interface is een interface die slechts één abstracte methode bevat.
Vraag 4: Hoe zijn functionele interfaces en Lambda-expressies gerelateerd?
Lambda-expressies worden alleen toegepast op de abstracte methode van de functionele interface.