Java - Streams: Difference between revisions
Line 67: | Line 67: | ||
} | } | ||
</source> | </source> | ||
=Queue= | |||
==Main Methods== | |||
<source lang="Java"> | |||
- element() Returns a reference to the head element without removing it, throwing an exception if the queue is empty. | |||
- peek() //Returns a reference to the head element without removing it, returning null if the queue is empty. | |||
- offer() //Adds an element to the queue. Some implementations may reject the addition, in which case a value of false is returned. | |||
- remove() //Retrieves a reference to the head element and removes it from the queue, throwing an exception if the queue is empty. | |||
- poll() //Retrieves a reference to the head element and removes it from the queue, returning null if the queue is empty. | |||
</source> | |||
===PriorityQueue=== | |||
===PriorityBlockingQueue=== | |||
===ArrayBlockingQueue=== | |||
===LinkedBlockingQueue=== | |||
===ConcurrentLinkedQueue=== | |||
===SynchronousQueue=== | |||
===DelayQueue=== | |||
=A voir= | =A voir= | ||
* Parallel stream | * Parallel stream |
Revision as of 17:56, 18 October 2019
Collections
Main Methods
<source lang="Java"> - add(Object o) //Adds the specified object to the collection. - remove(Object o) //Removes the specified object from the collection. - clear() //Removes all elements from the collection. - size() //Returns an integer that indicates how many elements are currently in the collection. - iterator() //Returns an object that can be used to retrieve references to the elements in the collection. </source>
Samples
Print all Students name
<source lang="Java"> Student student; Iterator iterator = collection.iterator(); while (iterator.hasNext()) {
student = (Student)(iterator.next()); System.out.println(student.getFullName());
} </source>
Get a Student
<source lang="Java"> Student student = getNextStudent(); while (student != null) {
collection.add(student);
} </source>
Iteration Without Generics Often Requires Casting
<source lang="Java"> Student student; Iterator iterator = collection.iterator(); while (iterator.hasNext()) {
student = (Student)(iterator.next()); System.out.println(student.getFullName());
} </source>
Autoboxing
is the process of performing the encapsulation before a primitive is stored in a collection, and the following is an example of how this can improve your code: <source lang="Java"> Random random = new Random(); Collection<Integer> collection = new ArrayList<Integer>(); for (int i = 0; i < 10; i++) {
collection.add(random.nextInt());
} </source>
Unboxing
is the process of extracting the primitive value from its corresponding wrapper object when retrieving data from a collection: <source lang="Java"> int total = 0; Iterator<Integer> iterator = collection.iterator(); while (iterator.hasNext()) {
total += iterator.next();
} </source>
Remove by Index
A Naive Approach to Removing Elements Corresponding to a Set of Index Values <source lang="java"> //as soon as you remove the first entry, the other indices in the array effectively become invalid because they no longer refer to the same elements for (int i = 0; i < deleteIndices.length; i++) {
myList.remove(deleteIndices[i]);
}
//An easy way to address this problem is to simply traverse the index list in reverse order for (int i = deleteIndices.length - 1; i >= 0; i--) {
myList.remove(deletedIndices[i]);
} </source>
Queue
Main Methods
<source lang="Java"> - element() Returns a reference to the head element without removing it, throwing an exception if the queue is empty. - peek() //Returns a reference to the head element without removing it, returning null if the queue is empty. - offer() //Adds an element to the queue. Some implementations may reject the addition, in which case a value of false is returned. - remove() //Retrieves a reference to the head element and removes it from the queue, throwing an exception if the queue is empty. - poll() //Retrieves a reference to the head element and removes it from the queue, returning null if the queue is empty. </source>
PriorityQueue
PriorityBlockingQueue
ArrayBlockingQueue
LinkedBlockingQueue
ConcurrentLinkedQueue
SynchronousQueue
DelayQueue
A voir
- Parallel stream