Java 8 er den mest etterlengtede utgivelsen av Java-programmeringsspråkutvikling fordi den i hele Javas historie aldri har gitt ut så mange viktige funksjoner. Den består av hovedtrekkene i Java. Det er en ny versjon av Java og ble utgitt av Oracle 18. mars 2014. Java ga støtte for funksjonell programmering, nye Java 8 APIer, en ny JavaScript-motor, ny Java 8 streaming API, funksjonelle grensesnitt, standardmetoder, dato-tid API endringer osv.
Viktige Java 8-funksjoner introdusert
Det er noen få viktige Java 8-funksjoner nevnt nedenfor:
- Lambda-uttrykk : Kortfattet funksjonskode ved hjelp av
->>. - Funksjonelle grensesnitt : Enkeltmetode-grensesnitt.
- Introduserte og forbedrede APIer:
- Stream API : Effektiv datamanipulering.
- Dato/klokkeslett API : Robust dato- og klokkesletthåndtering.
- Samling API-forbedringer : Forbedrede metoder for samlinger (f.eks.
removeIf>,replaceAll>). - Concurrency API-forbedringer : Nye klasser for parallell behandling (f.eks.
CompletableFuture>).
- Valgfri klasse : Håndter nullverdier trygt.
-
forEach()>Metode i Iterable Interface : Utfører en handling for hvert element i en samling. - Standardmetoder : Utvikle grensesnitt uten å bryte kompatibiliteten.
- Statiske metoder : Tillater å legge til metoder med standardimplementeringer til grensesnitt.
- Metodereferanser : Se enkelt til metoder.
Denne opplæringen dekker alle viktige Java 8-funksjoner som Java 8 APIer, Java-arrayer, Java 8 ArrayList og mange flere inkludert i Java 8-programmeringsspråket.
Java 8-funksjoner
- Lambda-uttrykk
- Funksjonelle grensesnitt
- Metodereferanse
- Strømmer
- Sammenlignbar og komparator
- Valgfri klasse
- Dato/klokkeslett API
- Diverse
Lambda-uttrykk
Lambda Expression uttrykker i utgangspunktet en forekomst av det funksjonelle grensesnittet, med andre ord kan du si det gir en klar og konsis måte å representere en metode for det funksjonelle grensesnittet ved å bruke et uttrykk. Lambda-uttrykk er lagt til i Java 8.
- Lambda-uttrykk i Java 8
- Lambda-uttrykksparametre
- Java Lambda-uttrykk med samlinger
- Lambdauttrykksvariabel fangst med eksempler
- Hvordan lage tråd med Lambda-uttrykk i Java?
- Serialisering av Lambda Expression i Java
- Blokker Lambda-uttrykk i Java
- Match Lambdas til grensesnitt i Java
- Konvertering av ArrayList til HashMap i Java 8 ved hjelp av et Lambda-uttrykk
- Sjekk om en streng bare inneholder alfabeter i Java ved å bruke Lambda-uttrykk
- Fjern elementer fra en liste som tilfredsstiller et gitt predikat i Java
Funksjonelle grensesnitt
Et grensesnitt som bare inneholder én abstrakt metode er kjent som et funksjonelt grensesnitt, men det er ingen begrensning, du kan ha n antall standard og statiske metoder i et funksjonelt grensesnitt.
- Funksjonelle grensesnitt i Java
- Forbrukergrensesnitt i Java med eksempler
- BiConsumer Interface i Java med eksempler
- Predikatgrensesnitt med eksempler
- Funksjonsgrensesnitt i Java med eksempler
- Leverandørgrensesnitt i Java med eksempler
Metodereferanse
Metodereferanse er en forkortelse for et lambda-uttrykk for å kalle en metode. Det er fire typer metodereferanser som er som følger:
- Statisk metodereferanse
- Forekomstmetodereferanse for et bestemt objekt
- Forekomstmetode Referanse til et vilkårlig objekt av en bestemt type
- Konstruktørreferanse.
Eksempel:
numList.stream().filter(n ->n> 5).sorted().forEach(System.out::println);>
- Metodereferanser i Java med eksempler
- Konvertering av ArrayList til HashMap ved hjelp av Method Reference i Java 8
Strømmer
Stream API er introdusert i Java 8 og brukes til å behandle samlinger av objekter med den funksjonelle stilen til koding ved hjelp av lambda-uttrykket. Så for å forstå hva stream API er, må du ha kunnskap om både lambda og funksjonelle grensesnitt.
- Java 8 Stream
- Forskjellen mellom strømmer og samlinger i Java
- Implementer filterfunksjon ved å bruke Reduce i Java 8 Streams
- Java Stream API – Filtre
- Parallell vs Sequential Stream i Java
- Funksjonell programmering i Java 8+ ved hjelp av Stream API med eksempel
- Mellommetoder for streaming i Java
- Forskjellen mellom map() og flatMap() i Java Stream
- Array for å streame i Java
- 10 måter å lage en strøm i Java
- Hvordan skrive ut elementer av en strøm i Java 8
- Samle en strøm til en uforanderlig samling i Java
- Sammenligning av strømmer med looper i Java
- Hvorfor må du lukke Java-strømmene i endelig blokk?
- Konverter en Iterable til Stream i Java
- Konverter en Iterator til Stream i Java
- Forskjellen mellom Stream.of()- og Arrays.stream()-metoden i Java
- Konverter Stream til Set i Java
- Konverter et sett til stream i Java
- Strømmer på Arrays i Java 8
Java Stream-programmer
Java-strømmer gir en kraftig og uttrykksfull måte å behandle sekvenser av elementer i Java, som muliggjør funksjonelle operasjoner på datasamlinger. Stream API, introdusert i Java 8, muliggjør effektiv datamanipulering og transformasjon ved å bruke en sekvens av operasjoner som kan utføres parallelt eller sekvensielt
. Java Stream-programmer vil gi en klar oversikt over emnet:
gimp rektangel tegning
- Program for å konvertere et kart til en strøm i Java
- Program for å konvertere Boxed Array til Stream i Java
- Program for å konvertere Primitive Array til Stream i Java
- Program for å konvertere et sett til stream i Java ved hjelp av Generics
- Program for å konvertere liste til stream i Java
- Program for å konvertere Stream til en Array i Java
- Hvordan få Slice of a Stream i Java
- Flatting Nested Collections i Java
- Hvordan konvertere en strøm til et kart i Java
- Finn det første elementet i en strøm i Java
- Finn det siste elementet i en strøm i Java
- Hvordan finne dupliserte elementer i en strøm i Java
- Tell forekomsten av et gitt tegn i en streng ved å bruke Stream API i Java
- Omvendte elementer av en parallell strøm i Java
- Hvordan få ArrayList fra Stream i Java 8
- Generer Infinite Stream of Double i Java
- Generer uendelig strøm av heltall i Java
- Program for å iterere over en strøm med indekser i Java 8
- Flat en strøm av arrays i Java ved å bruke forEach loop
- Flat en strøm av lister i Java ved å bruke forEach loop
- Flat en strøm av kart i Java ved å bruke forEach loop
- Konverter en streng til en liste over tegn i Java
- Initialiser en liste på en enkelt linje med en spesifisert verdi ved å bruke Java Stream
Java-strømmemetoder
Metoder relatert til en av de kraftigste funksjonene til Java Stream er nevnt nedenfor.
- Stream forEach()-metoden i Java med eksempler
- Strøm forEachOrdered()-metoden i Java med eksempler
- foreach() loop vs Stream foreach() vs Parallell Stream foreach()
- Stream of()-metoden 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
- Strømsortert (Comparator komparator) Metode i Java
- Stream sorted() i Java
- Stream.distinct() i Java
- Stream.concat() i Java
- Stream.reduce() i Java med eksempler
- stream.limit()-metoden 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
- Strøm takeWhile()-metoden i Java med eksempler
- concat() metode for strømgrensesnitt i Java API
- Strøm findFirst() i Java med eksempler
- DoubleStream mapToObj() i Java
- Stream.Builder accept()-metoden 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 tomme() i Java med eksempler
- LongStream flatMap (LongFunction Mapper) i Java
- LongStream filter() i Java med eksempler
Sammenlignbar og komparator
Comparable og Comparator er grensesnitt som brukes til å bestille objekter. De er spesielt nyttige i sorteringsoperasjoner og samlinger som krever naturlig bestilling. Her vil vi lære om Comparable og Comparator i dybden.
- Sammenlignbar vs Comparator i Java
- Komparatorgrensesnitt i Java med eksempler
- Hvorfor bruke komparatorgrensesnitt i stedet for sammenlignbart grensesnitt i Java?
- Sorter en rekke tripletter ved å bruke Java Comparable og Comparator
- Java-program for å sortere LinkedList ved hjelp av Comparable
- Hvordan sortere HashSet-elementer ved å bruke sammenlignbart grensesnitt i Java?
- Sorter LinkedHashMap etter verdier ved å bruke sammenlignbart grensesnitt i Java
- Sorter LinkedHashMap etter nøkler ved hjelp av Comparable Interface i Java
- Hvordan sortere LinkedHashSet-elementer ved å bruke sammenlignbart grensesnitt i Java?
Valgfri klasse
- Java 8 valgfri klasse
- Valgfri forNullable()-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 tom()-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 av() metode i Java med eksempler
Dato/klokkeslett API
Denne delen gir deg mulighet til å håndtere den stadig skiftende verden av datoer og klokkeslett i Java-programmene dine. Utforsk arbeid med kalendere, tidsstempler og tidsmanipulasjon – viktige ferdigheter for å bygge applikasjoner som omhandler tidsfrister, planlegging eller til og med historisk dataanalyse.
- Date-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 allsidig og kraftig programmeringsspråk som omfatter et bredt spekter av funksjoner og verktøy, som gjør det mulig for utviklere å bygge robuste applikasjoner med høy ytelse. La oss lære noen Java. Diverse emner er nevnt nedenfor:
- Standardmetoder i Java 8
- Statisk metode i grensesnitt i Java
- Kan vi overstyre standardmetoden i Java?
- forEach()-metoden i Java
- Nashorn JavaScript-motor i Java med eksempler
- MetaSpace i Java 8 med eksempler
- Java-klasseavhengighetsanalysator i Java 8 med eksempler
- LongUnaryOperator-grensesnitt i Java
- IntUnaryOperator-grensesnitt i Java
- DoubleUnaryOperator-grensesnitt i Java
- UnaryOperator-grensesnitt i Java
- ObjLongConsumer-grensesnitt med eksempel
- ObjIntConsumer-grensesnitt med eksempel
- ObjDoubleConsumer-grensesnitt med eksempel
- DoubleSupplier-grensesnitt med eksempler
- Boolean Supplier Interface med eksempler
- IntSupplier-grensesnitt med eksempler
- LongSupplier-grensesnitt med eksempler
- LongConsumer Interface i Java med eksempler
- DoubleConsumer-grensesnitt i Java med eksempler
- IntConsumer Interface i Java med eksempler
- LongFunction Interface i Java med eksempler
- IntFunction-grensesnitt i Java med eksempler
- ToDoubleFunction-grensesnitt i Java med eksempler
- DoubleFunction-grensesnitt i Java med eksempler
- ToIntFunction-grensesnitt i Java med eksempler
- LongToIntFunction-grensesnitt i Java med eksempler
- ToLongFunction-grensesnitt i Java med eksempler
- LongToDoubleFunction-grensesnitt i Java med eksempler
- ToLongBiFunction-grensesnitt i Java med eksempler
- ToIntBiFunction-grensesnitt i Java med eksempler
- ToDoubleBiFunction-grensesnitt i Java med eksempler
- DoubleToLongFunction-grensesnitt i Java med eksempler
- IntToDoubleFunction-grensesnitt i Java med eksempler
- IntToLongFunction-grensesnitt i Java med eksempler
- DoubleToIntFunction-grensesnitt i Java med eksempel
- ArrayDeque removeIf()-metoden i Java med eksempler
Konklusjon
Java 8 har brakt mange spennende funksjoner som gjør det til et kraftig verktøy for utviklere. Med introduksjonen av Lambda-uttrykk, Stream API og nye Date and Time API, har Java 8 forbedret kodeeffektivitet og lesbarhet. Disse Java 8-funksjonene lar utviklere skrive mer fleksibel og konsis kode, noe som gjør arbeidet deres enklere og morsommere. Samlet sett fortsetter Java 8 å være en verdifull oppdatering som har forbedret Java-programmeringsspråket betydelig.
Java 8-funksjoner – Vanlige spørsmål
Q1: Hva er funksjonene til java8?
- standard og statiske metoder
- Funksjonelle grensesnitt og lambdauttrykk
- Innsamlings-API
- Java Time API
- forEach()-metoden
- Concurrency API
- Java Stream API
Q2: Hvilke fordeler gir Java 8?
- Koden er mer kortfattet og lesbar
- Koden er mer gjenbrukbar
- Koden er mer testbar og vedlikeholdbar
- Koden er nå både anropbar og samtidig
- Brukere kan skrive parallell kode
- Brukere kan skrive databaselignende operasjoner
- Applikasjoner gir nå bedre resultater
- Koden er langt mer produktiv
Q3: Hva er et funksjonelt grensesnitt?
Et funksjonelt grensesnitt er et grensesnitt som inneholder bare én abstrakt metode.
Q4: Hvordan er funksjonelle grensesnitt og Lambda-uttrykk relatert?
Lambda-uttrykk brukes bare på det funksjonelle grensesnittets abstrakte metode.