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 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.
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.
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.
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.
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.
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.
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().
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.
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.
@@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.
@@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".
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
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
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.
wondefully explianed.. always wait for your new videos... thx a lot and our best wishes to you
you are fabulous teacher
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?
i agree, and without the background music.
@@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.
🙂 great, thank you
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.
Why doesn't Queue extend SequencedCollection interface ?
Merci. Tout a été bien expliqué en anglais.
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.
Hmm... quite not. Pointer chasing is killing all the good properties of linked lists.
@@JosePaumardm sorry, what do you mean with that statement?
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.
This part also got my attention, would be good if author could elaborate a little more on this topic.
Maybe due to cpu caching functionality arraylist almost always outperforms a linked list ?
6:18 why shouldnt you use linkedlists?
I have the some question.
probably b/c of the performance reasons
@@FamiliaGrigoryevy well duh, but what changed
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.
In a nutshell: because of pointer chasing that kills linked lists performances.
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.
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().
is it possible that this JEP makes the collections framework more confusing and cumbersome then it is?
Nope
No.
It's a bunch of new, obvious methods and 3 new interfaces. So... no.
Coffee is for closers. Go back to your cubicle and finish reviewing the PR.
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.
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.
@@TheDrezir Pointer chasing and memory consumption are the big factors.
LinkedList has poor cache behavior which can often tank performance@@TheDrezir
@@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.
🆒
I want to this cup
I think he's drinking Pepsi
228th...Thanks
It will be good if s.o.p changes to print and no "new" keyword
Wdym no new keyword
Well I think like in Kotlin when creating an instance. new Something(); vs. Something();
Yes like kotlin and dart
Wow you win a whole token, imagine the productivity improvements, totally worth it!
@@lieven7709 yea I just don't see 'new' as much of a nuisance.. if anything it makes things slightly more explicit
quite the cynical and grumpy crowd in the comments section
Super annoying piano.
"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.
yup. that's incorrect.
@@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".
English is not my first language neither...
@@peterg76yt Thank you for your comment! I'll fix it in the future episodes.
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
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
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.
Python breaks far more backward stuff than Java with each release...