logo

Java 8-funktioner – Komplet vejledning

Java 8 er den mest ventede udgivelse af Java-programmeringssprogudvikling, fordi den i hele Javas historie aldrig udgav så mange vigtige funktioner. Det består af de vigtigste funktioner i Java. Det er en ny version af Java og blev udgivet af Oracle den 18. marts 2014. Java gav support til funktionel programmering, nye Java 8 API'er, en ny JavaScript-motor, ny Java 8 streaming API, funktionelle grænseflader, standardmetoder, dato-tid API ændringer mv.

Vigtige Java 8-funktioner introduceret

Der er et par vigtige Java 8-funktioner nævnt nedenfor:

  • Lambda udtryk : Kortfattet funktionskode vha->>.
  • Funktionelle grænseflader : Enkeltmetode-grænseflader.
  • Introducerede og forbedrede API'er:
    1. Stream API : Effektiv datamanipulation.
    2. Dato/tid API : Robust dato- og tidshåndtering.
    3. Indsamling API-forbedringer : Forbedrede metoder til samlinger (f.eks.removeIf>,replaceAll>).
    4. Concurrency API-forbedringer : Nye klasser til parallel behandling (f.eks.CompletableFuture>).
  • Valgfri klasse : Håndter nulværdier sikkert.
  • forEach()> Metode i Iterable Interface : Udfører en handling for hvert element i en samling.
  • Standardmetoder : Udvikl grænseflader uden at bryde kompatibiliteten.
  • Statiske metoder : Tillader tilføjelse af metoder med standardimplementeringer til grænseflader.
  • Metodereferencer : Henvis let til metoder.

Denne vejledning dækker alle de vigtige Java 8-funktioner som Java 8 API'er, Java-arrays, Java 8 ArrayList og mange flere inkluderet i Java 8-programmeringssproget.



Java 8 funktioner

Lambda udtryk

Lambda Expression udtrykker dybest set en instans af den funktionelle grænseflade, med andre ord kan man sige, at den giver en klar og kortfattet måde at repræsentere en metode til den funktionelle grænseflade ved hjælp af et udtryk. Lambda-udtryk tilføjes i Java 8.

  • Lambda-udtryk i Java 8
  • Lambdaudtryksparametre
  • Java Lambda-udtryk med samlinger
  • Optagelse af lambdaudtryksvariabel med eksempler
  • Hvordan opretter man tråd ved hjælp af Lambda-udtryk i Java?
  • Serialisering af Lambda-udtryk i Java
  • Bloker Lambda-udtryk i Java
  • Match lambdaer til grænseflader i Java
  • Konvertering af ArrayList til HashMap i Java 8 ved hjælp af et Lambda-udtryk
  • Tjek, om en streng kun indeholder alfabeter i Java ved hjælp af Lambda-udtryk
  • Fjern elementer fra en liste, der opfylder et givet prædikat i Java

Funktionelle grænseflader

En grænseflade, der kun indeholder én abstrakt metode, er kendt som en funktionel grænseflade, men der er ingen begrænsning, du kan have n antal standard- og statiske metoder i en funktionel grænseflade.

  • Funktionelle grænseflader i Java
  • Forbrugergrænseflade i Java med eksempler
  • BiConsumer Interface i Java med eksempler
  • Prædikatgrænseflade med eksempler
  • Funktionsgrænseflade i Java med eksempler
  • Leverandørgrænseflade i Java med eksempler

Metode reference

Metodereference er en stenografi af et lambda-udtryk til at kalde en metode. Der er fire typer metodereferencer, der er som følger:

  • Statisk metodereference
  • Instance Method Reference for et bestemt objekt
  • Instance Method Reference til et vilkårligt objekt af en bestemt type
  • Konstruktør reference.

Eksempel:

numList.stream().filter(n ->n> 5).sorted().forEach(System.out::println);>
  • Metodereferencer i Java med eksempler
  • Konvertering af ArrayList til HashMap ved hjælp af Method Reference i Java 8

Strømme

Stream API er introduceret i Java 8 og bruges til at behandle samlinger af objekter med den funktionelle stil med kodning ved hjælp af lambda-udtrykket. Så for at forstå hvad stream API er, skal du have kendskab til både lambda og funktionelle grænseflader.

  • Java 8 stream
  • Forskellen mellem streams og samlinger i Java
  • Implementer filterfunktion ved hjælp af Reducer i Java 8 Streams
  • Java Stream API – Filtre
  • Parallel vs sekventiel stream i Java
  • Funktionel programmering i Java 8+ ved hjælp af Stream API med eksempel
  • Mellemliggende metoder til streaming i Java
  • Forskellen mellem map() og flatMap() i Java Stream
  • Array til at streame i Java
  • 10 måder at oprette en stream i Java
  • Sådan udskrives elementer af en stream i Java 8
  • Indsamling af en stream til en uforanderlig samling i Java
  • Sammenligning af streams med loops i Java
  • Hvorfor skal du lukke Java-streams i endelig blok?
  • Konverter en Iterable til Stream i Java
  • Konverter en Iterator til Stream i Java
  • Forskellen mellem Stream.of() og Arrays.stream()-metoden i Java
  • Konverter Stream til Set i Java
  • Konverter et sæt til stream i Java
  • Streams på Arrays i Java 8

Java stream programmer

Java Streams giver en kraftfuld og udtryksfuld måde at behandle sekvenser af elementer i Java, hvilket muliggør funktionelle handlinger på dataindsamlinger. Stream API, introduceret i Java 8, letter effektiv datamanipulation og transformation ved hjælp af en sekvens af operationer, der kan udføres parallelt eller sekventielt

. Java Stream-programmer giver et klart overblik over emnet:

hvordan man læser fra csv-fil i java
  • Program til at konvertere et kort til en stream i Java
  • Program til at konvertere Boxed Array til Stream i Java
  • Program til at konvertere Primitive Array til Stream i Java
  • Program til at konvertere et sæt til stream i Java ved hjælp af Generics
  • Program til at konvertere liste til stream i Java
  • Program til at konvertere stream til et array i Java
  • Sådan får du en udsnit af en stream i Java
  • Udfladning af indlejrede samlinger i Java
  • Sådan konverteres en stream til et kort i Java
  • Find det første element i en stream i Java
  • Find det sidste element i en stream i Java
  • Sådan finder du dublerede elementer i en stream i Java
  • Tæl forekomsten af ​​en given karakter i en streng ved hjælp af Stream API i Java
  • Omvendte elementer af en parallel strøm i Java
  • Sådan får du ArrayList fra stream i Java 8
  • Generer Infinite Stream of Double i Java
  • Generer uendelig strøm af heltal i Java
  • Program til at iterere over en stream med indekser i Java 8
  • Udjævn en strøm af arrays i Java ved hjælp af forEach-løkke
  • Udjævn en strøm af lister i Java ved hjælp af forEach-løkke
  • Forlad en strøm af kort i Java ved hjælp af forHver loop
  • Konverter en streng til en liste over tegn i Java
  • Initialiser en liste på en enkelt linje med en specificeret værdi ved hjælp af Java Stream

Java-streammetoder

Metoder relateret til en af ​​de mest kraftfulde funktioner i Java Stream er nævnt nedenfor.

  • Stream forEach()-metoden i Java med eksempler
  • Stream forEachOrdered()-metoden i Java med eksempler
  • foreach() loop vs Stream foreach() vs Parallel Stream foreach()
  • Stream of() metode i Java
  • Java Stream findAny() med eksempler
  • Stream anyMatch() i Java med eksempler
  • Stream allMatch() i Java med eksempler
  • Stream filter() i Java med eksempler
  • Stream sorteret (Komparator komparator) Metode i Java
  • Stream sorted() i Java
  • Stream.distinct() i Java
  • Stream.concat() i Java
  • Stream.reduce() i Java med eksempler
  • stream.limit() metode i Java
  • Stream ofNullable(T)-metoden i Java med eksempler
  • Stream dropWhile()-metoden i Java med eksempler
  • Stream iterate(T,Predicate,UnaryOperator)-metoden i Java med eksempler
  • Stream takeWhile()-metoden i Java med eksempler
  • concat() Stream-grænseflademetode i Java API
  • Stream findFirst() i Java med eksempler
  • DoubleStream mapToObj() i Java
  • Stream.Builder accept() metode i Java
  • IntStream.Builder add() metode i Java
  • DoubleStream.Builder build() i Java
  • Stream.Builder build() i Java
  • Collectors.joining() Metode med eksempler
  • Stream builder() i Java med eksempler
  • Stream empty() i Java med eksempler
  • LongStream flatMap (LongFunction mapper) i Java
  • LongStream filter() i Java med eksempler

Sammenlignelig og Comparator

Comparable og Comparator er grænseflader, der bruges til at bestille objekter. De er især nyttige til sorteringsoperationer og samlinger, der kræver naturlig bestilling. Her vil vi lære mere om Comparable og Comparator i dybden.

  • Sammenlignelig vs Comparator i Java
  • Komparatorgrænseflade i Java med eksempler
  • Hvorfor bruge komparatorgrænseflade i stedet for sammenlignelig grænseflade i Java?
  • Sorter et array af tripletter ved hjælp af Java Comparable og Comparator
  • Java-program til at sortere LinkedList ved hjælp af Comparable
  • Hvordan sorterer man HashSet-elementer ved hjælp af sammenlignelig grænseflade i Java?
  • Sorter LinkedHashMap efter værdier ved hjælp af Comparable Interface i Java
  • Sorter LinkedHashMap efter nøgler ved hjælp af Comparable Interface i Java
  • Hvordan sorterer man LinkedHashSet-elementer ved hjælp af sammenlignelig grænseflade i Java?

Valgfri klasse

  • Java 8 valgfri klasse
  • Valgfri afNullable() metode i Java med eksempler
  • Valgfri orElse()-metode i Java med eksempler
  • Valgfri ifPresentOrElse()-metode i Java med eksempler
  • Valgfri orElseGet()-metode i Java med eksempler
  • Valgfri filter()-metode i Java med eksempler
  • Valgfri empty() metode i Java med eksempler
  • Valgfri hashCode()-metode i Java med eksempler
  • Valgfri toString()-metode i Java med eksempler
  • Valgfri equals()-metode i Java med eksempler
  • Valgfri stream() Metode i Java med eksempler
  • Valgfri eller()-metode i Java med eksempler
  • Valgfri get()-metode i Java med eksempler
  • Valgfri isPresent()-metode i Java med eksempler
  • Valgfri orElseThrow()-metode i Java med eksempler
  • Valgfri af() metode i Java med eksempler

Dato/tid API

Dette afsnit giver dig mulighed for at håndtere den evigt skiftende verden af ​​datoer og tidspunkter i dine Java-programmer. Udforsk arbejdet med kalendere, tidsstempler og tidsmanipulation – væsentlige færdigheder til at bygge applikationer, der omhandler deadlines, planlægning eller endda historisk dataanalyse.

  • Dato-Time API i Java 8
  • java.time.LocalDate Class i Java
  • java.time.LocalTime Class i Java
  • java.time.LocalDateTime Class i Java
  • java.time.MonthDay Class i Java
  • java.time.OffsetTime Class i Java
  • java.time.OffsetDateTime Class i Java
  • java.time.Clock Class i Java
  • java.time.ZonedDateTime Class i Java
  • java.time.ZoneId klasse i Java
  • java.time.ZoneOffset Class i Java
  • java.time.Year Class i Java
  • java.time.YearMonth Class i Java
  • java.time.Period Class i Java
  • java.time.Duration Klasse i Java
  • java.time.Instant Class i Java
  • Java 8 Clock instant() metode med eksempler
  • Java 8 Clock fixed() metode med eksempler

Diverse

Java er et alsidigt og kraftfuldt programmeringssprog, der omfatter en lang række funktioner og værktøjer, der gør det muligt for udviklere at bygge robuste, højtydende applikationer. Lad os lære nogle Java. Diverse emner er nævnt nedenfor:

  • Standardmetoder i Java 8
  • Statisk metode i Interface i Java
  • Kan vi tilsidesætte standardmetoden i Java?
  • forEach()-metoden i Java
  • Nashorn JavaScript Engine i Java med eksempler
  • MetaSpace i Java 8 med eksempler
  • Java-klasseafhængighedsanalysator i Java 8 med eksempler
  • LongUnaryOperator Interface i Java
  • IntUnaryOperator Interface i Java
  • DoubleUnaryOperator Interface i Java
  • UnaryOperator Interface i Java
  • ObjLongConsumer Interface med eksempel
  • ObjIntConsumer Interface med Eksempel
  • ObjDoubleConsumer Interface med eksempel
  • DoubleSupplier Interface med eksempler
  • BooleanSupplier Interface med eksempler
  • IntSupplier Interface med eksempler
  • LongSupplier Interface med eksempler
  • LongConsumer Interface i Java med eksempler
  • DoubleConsumer Interface i Java med eksempler
  • IntConsumer Interface i Java med eksempler
  • LongFunction Interface i Java med eksempler
  • IntFunction Interface i Java med eksempler
  • ToDoubleFunction Interface i Java med eksempler
  • DoubleFunction Interface i Java med eksempler
  • ToIntFunction Interface i Java med eksempler
  • LongToIntFunction Interface i Java med eksempler
  • ToLongFunction Interface i Java med eksempler
  • LongToDoubleFunction Interface i Java med eksempler
  • ToLongBiFunction Interface i Java med eksempler
  • ToIntBiFunction Interface i Java med eksempler
  • ToDoubleBiFunction Interface i Java med eksempler
  • DoubleToLongFunction Interface i Java med eksempler
  • IntToDoubleFunction Interface i Java med eksempler
  • IntToLongFunction Interface i Java med eksempler
  • DoubleToIntFunction Interface i Java med eksempel
  • ArrayDeque removeIf() metode i Java med eksempler

Konklusion

Java 8 har bragt mange spændende funktioner, der gør det til et kraftfuldt værktøj for udviklere. Med introduktionen af ​​Lambda-udtryk, Stream API og ny Date and Time API har Java 8 forbedret kodeeffektivitet og læsbarhed. Disse Java 8-funktioner giver udviklere mulighed for at skrive mere fleksibel og kortfattet kode, hvilket gør deres arbejde lettere og mere behageligt. Samlet set fortsætter Java 8 med at være en værdifuld opdatering, der har forbedret Java-programmeringssproget markant.

Java 8-funktioner – ofte stillede spørgsmål

Q1: Hvad er funktionerne i java8?

  • standard og statiske metoder
  • Funktionelle grænseflader og lambdaudtryk
  • Indsamling API
  • Java Time API
  • forEach() metode
  • Concurrency API
  • Java Stream API

Q2: Hvilke fordele giver Java 8?

  • Koden er mere kortfattet og læsbar
  • Koden er mere genbrugelig
  • Koden er mere testbar og vedligeholdelig
  • Koden kan nu både kaldes og samtidig
  • Brugere kan skrive parallel kode
  • Brugere kan skrive databaselignende operationer
  • Applikationer fungerer nu bedre
  • Koden er langt mere produktiv

Q3: Hvad er en funktionel grænseflade?

En funktionel grænseflade er en grænseflade, der kun indeholder én abstrakt metode.

Q4: Hvordan er funktionelle grænseflader og Lambda-udtryk relateret?

Lambda-udtryk anvendes kun på den funktionelle grænseflades abstrakte metode.