Тёмный

Java 21 New Feature: Sequenced Collections - JEP Cafe #19 

Java
Подписаться 179 тыс.
Просмотров 26 тыс.
50% 1

Learn the principles of the Sequenced Collections, Sets, and Maps, a new feature introduced in JDK 21.
Sequenced Collections are about modelling collections with a defined encounter order, giving you direct access to their first and last element. Learn about the new Sequenced Collections API, part of the Collections Framework, introduced in JDK 21.
⎯⎯⎯⎯⎯⎯ Chapters ⎯⎯⎯⎯⎯⎯
0:00 Intro
1:19 Introducing the architecture of the Collections API
2:38 What does it mean for a collection to be sorted
3:46 Ordering elements in a collection with an index
4:53 Differences between Lists and SortedSets
5:22 Defining the encounter order for List, Set, and SortedSet
8:10 Properties of LinkedHashSet
9:09 Common behavior between List, SortedSet and LinkedHashSet
9:58 Defining the behavior of sequenced collections
12:10 Adding SequencedCollection and SequencedSet to the Collections API
13:27 Making Deque implement SequencedCollection
15:41 Iterating over the elements of a Map
17:18 Iterating over the elements of a SortedMap or NavigableMap
18:06 Introducing SequencedMap
19:06 Creating unmodifiable views with the Collections factory class
19:16 Outro
⎯⎯⎯⎯⎯⎯ Resources ⎯⎯⎯⎯⎯⎯
◦ JEP 431: Sequenced Collections ➱ openjdk.org/jeps/431
◦ Inside Java Newscast #50 on JDK 21: • All That is in Java 21...
◦ Inside Java Newscast #45 on Sequenced Collections: • Java 21's New (Sequenc...
◦ Dev.java ➱ dev.java
◦ Inside.java ➱ inside.java
◦ JDK 21 ➱ openjdk.org/projects/jdk/21
◦ OpenJDK ➱ openjdk.org
◦ Oracle Java ➱ www.oracle.com/java/
Tags: #Java #Java21 #OpenJDK #JDK #JDK21 #Collection #JEPCafe #insidejava

Наука

Опубликовано:

 

28 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 65   
@ahmadfx8962
@ahmadfx8962 Год назад
🙂 great, thank you
@rashimpathak8117
@rashimpathak8117 2 месяца назад
wondefully explianed.. always wait for your new videos... thx a lot and our best wishes to you
@faheemsyed9481
@faheemsyed9481 11 месяцев назад
you are fabulous teacher
@christianschafer3724
@christianschafer3724 Год назад
Sequenced Collections starting at 9:10. Overall I'd like to see more diagrams and code. Too much information just over audio. This is not a podcast, is it?
@mirageman2
@mirageman2 Год назад
i agree, and without the background music.
@srki22
@srki22 7 месяцев назад
@@mirageman2 I like the background music. There are other videos on this channel about SequencedCollections with more code, but this is intentionally made in this format and I like it.
@klarissaclairiton9010
@klarissaclairiton9010 Год назад
Merci. Tout a été bien expliqué en anglais.
@chrisschaefer3863
@chrisschaefer3863 Год назад
quite sly to manage to finish your coffee at the end of the talk, I was following that from about 1/2 way through thinking it might be the case. well done.
@olivierboisse1678
@olivierboisse1678 Год назад
Why doesn't Queue extend SequencedCollection interface ?
@kubarurak
@kubarurak Год назад
6:18 why shouldnt you use linkedlists?
@KhanhVuy
@KhanhVuy Год назад
I have the some question.
@FamiliaGrigoryevy
@FamiliaGrigoryevy Год назад
probably b/c of the performance reasons
@kubarurak
@kubarurak Год назад
@@FamiliaGrigoryevy well duh, but what changed
@JonHaa87
@JonHaa87 Год назад
It can in pretty much all cases be replaced by either ArrayList or ArrayDeque, which both are much faster and consume less memory. Even in cases where LinkedList sounds great, like when using ListIterators to add or remove stuff in the middle of big lists, other data structures are much better.
@JosePaumard
@JosePaumard Год назад
In a nutshell: because of pointer chasing that kills linked lists performances.
@AhmetMurati
@AhmetMurati Год назад
I have not being using LinkedList since years on. I have found also a bug in Java 8 about currency format for Kosova and it is fixed in Oracle Java 8 and newer versions and also at OpenJDK 8 and newer versions.
@TheDrezir
@TheDrezir Год назад
I do not fully understand about why LinkedList is bad. I have seen some benchmarks versus ArrayList and AL mostly wins. Probably the resizing of an array in ArrayList is not so demanding nowadays as creation of new objects in LinkedLists with higher memory usage.
@jfkwasnoscope
@jfkwasnoscope Год назад
@@TheDrezir Pointer chasing and memory consumption are the big factors.
@StefanReich
@StefanReich 10 месяцев назад
LinkedList has poor cache behavior which can often tank performance@@TheDrezir
@alexandersagen3753
@alexandersagen3753 10 месяцев назад
​@@TheDrezirModern cpu's are super optimized for working in the same region of memory. So when you fetch some address of ram the cpu also fetches and cached nearby memory. For arraylist this memory is always nearby while for linked list its mostly random where it is. Most operations in arraylists are O(1) time and most of all operations in linked list is O(N) time because iy has to traverse the collection in random memory.
@pablon3115
@pablon3115 9 месяцев назад
Maybe I'm not getting it well. Because I don't agree when in 8:30 Jose says "Does it have all the properties of List? Not quite. Can you get the third element for instance, that is an element from an index? The answer is yes. Could you remove and element at a given index? The answer is still yes" I mean, with a LinkedHashSet you cannot get an element given its index.
@roge0
@roge0 8 месяцев назад
Given he mentions this right after explaining encounter order, I think he was using "index" to refer to an element's place (or *index*) in the encounter order. You're correct that the API for a LinkedHashSet does not provide methods to directly access an element using an index; but, it is still possible to get and remove elements based on their index in the encounter order by using LinkedHashSet#iterator(). This would be an O(n) operation, but so is LinkedList#get() and LinkedList#remove().
@priyeshgupta164
@priyeshgupta164 Год назад
🆒
@akirsch76
@akirsch76 Год назад
Why should LinkedList not be used anymore? It is the fastest data structure for random inserts because the following objects do not have to be moved after insertion. For the price that random access is slow.
@JosePaumard
@JosePaumard Год назад
Hmm... quite not. Pointer chasing is killing all the good properties of linked lists.
@manilladrift
@manilladrift Год назад
​​​@@JosePaumardm sorry, what do you mean with that statement?
@loganrussell48
@loganrussell48 Год назад
I'm sure that caching plays a role here in some capacity, since in an array, the memory is all in a contiguous chunk, whereas, with a linked list, the objects are potentially scattered in memory, meaning more cache misses, which would hinder performance? This is purely speculation on my part.
@Misa7531
@Misa7531 Год назад
This part also got my attention, would be good if author could elaborate a little more on this topic.
@ahadporkar7355
@ahadporkar7355 Год назад
Maybe due to cpu caching functionality arraylist almost always outperforms a linked list ?
@jopadjr
@jopadjr Год назад
228th...Thanks
@JohnLyon0611
@JohnLyon0611 3 месяца назад
I want to this cup
@barcomasile
@barcomasile 10 месяцев назад
I think he's drinking Pepsi
@DF-ss5ep
@DF-ss5ep 3 месяца назад
Coffee is for closers. Go back to your cubicle and finish reviewing the PR.
@IIIxwaveIII
@IIIxwaveIII Год назад
is it possible that this JEP makes the collections framework more confusing and cumbersome then it is?
@manilladrift
@manilladrift Год назад
Nope
@SranSrepfler
@SranSrepfler Год назад
No.
@StefanReich
@StefanReich 10 месяцев назад
It's a bunch of new, obvious methods and 3 new interfaces. So... no.
@softdev8229
@softdev8229 Год назад
It will be good if s.o.p changes to print and no "new" keyword
@manilladrift
@manilladrift Год назад
Wdym no new keyword
@vilpe1989
@vilpe1989 Год назад
Well I think like in Kotlin when creating an instance. new Something(); vs. Something();
@softdev8229
@softdev8229 Год назад
Yes like kotlin and dart
@lieven7709
@lieven7709 Год назад
Wow you win a whole token, imagine the productivity improvements, totally worth it!
@manilladrift
@manilladrift Год назад
@@lieven7709 yea I just don't see 'new' as much of a nuisance.. if anything it makes things slightly more explicit
@superdupe8
@superdupe8 6 месяцев назад
quite the cynical and grumpy crowd in the comments section
@szaboaz
@szaboaz Год назад
"Feeling like taking a coffee break? So do I." English is not my first language, but shouldn't that be "So am I."? Grammar "not see" off.
@dr.strangelav4579
@dr.strangelav4579 Год назад
yup. that's incorrect.
@peterg76yt
@peterg76yt Год назад
@@dr.strangelav4579 It is incorrect. "Feel like a coffee break?" - implied "Do you..." with anticipated 'yes' - appropriate response "So do I". "Feeling like a coffee break?" - implied "Are you..." with anticipated 'yes' - appropriate response "So am I".
@JosePaumard
@JosePaumard Год назад
English is not my first language neither...
@JosePaumard
@JosePaumard Год назад
@@peterg76yt Thank you for your comment! I'll fix it in the future episodes.
@basilbourque1326
@basilbourque1326 11 месяцев назад
Don't bother changing a thing. Slightly imperfect English is charming, especially when delivered with a French accent. And anyone nitpicking trivial grammar issues from a foreign speaker needs to rethink their priorities - specially when that speaker is generously providing such high-quality technical information. So as we say in imperfect American English: “Keep on keepin’ on". @@JosePaumard
@janvandermeer6159
@janvandermeer6159 8 месяцев назад
Super annoying piano.
@sanaullahsianch9962
@sanaullahsianch9962 Год назад
if someone starts learning from latest release of java until he finishes learning java there will be at least two new releases of java then he continue to learn relevant technologies used in web like spring framework or again learn latest releases, its better to give up on java and learn python or some other languages
@tintifax8531
@tintifax8531 Год назад
You're saying that other languages don't get new releases, or what is your point? Java is probably the most strictly backward compatible mainstream language out there - just because new versions are released doesn't mean you have to relearn everything.
@Mirage2020
@Mirage2020 6 месяцев назад
Python breaks far more backward stuff than Java with each release...
Далее
CppCon 2014: Mike Acton "Data-Oriented Design and C++"
1:27:46
Как вам наш дуэт?❤️
00:37
Просмотров 820 тыс.
БАТЯ И ТЁЩА😂#shorts
00:58
Просмотров 3,5 млн
Secret Experiment Toothpaste Pt.4 😱 #shorts
00:35
Wait for the BOWLING BALL! 👀
00:38
Просмотров 27 млн
Aprendamos a usar los Java Records ☕
46:35
Просмотров 5 тыс.
Java 21 API New Features #RoadTo21
16:48
Просмотров 39 тыс.
What is the Java Job delusion?
12:23
Просмотров 112 тыс.
Java 21 new feature: Virtual Threads #RoadTo21
33:35
Просмотров 59 тыс.
Java 21 Is Good?! | Prime Reacts
27:08
Просмотров 223 тыс.
A Classfile API for the JDK #JVMLS
51:48
Просмотров 14 тыс.
ОБСЛУЖИЛИ САМЫЙ ГРЯЗНЫЙ ПК
1:00