In this article, we will discuss how to get First and Last elements from a List or an ArrayList using Java 8 Streams API
Find First and Last elements in an ArrayList
- Using Java 8 Streams API
- Before Java 8 release
1. Using Java 8 Streams API
- To find first element in an ArrayList, we can use findFirst() method of Stream API which returns Optional<T> and
- We can invoke get() method on Optional<T> to obtain the final result
- Similarly, to get last element from ArrayList, we can use reduce() method of Stream API which returns Optional<T> and
- We can invoke get() method on Optional<T> to obtain the final result
FindFirstAndLastElementInArrayListInJava8.java
package in.bench.resources.find.list;
import java.util.ArrayList;
import java.util.List;
public class FindFirstAndLastElementInArrayListInJava8 {
public static void main(String[] args) {
// local variables
String first = null;
String last = null;
// create List object
List<String> names = new ArrayList<>();
// add names to newly created ArrayList
names.add("Deepinder Goyal");
names.add("Vinay Sanghi");
names.add("Bipin Preet Singh");
names.add("Vijay Shekhar Sharma");
names.add("Falguni Nayar");
// findFirst() - find First element in ArrayList
first = names.stream().findFirst().get();
// reduce() - find Last element in ArrayList
last = names.stream().reduce((one, two) -> two).get();
// print to console
System.out.println("First name in the List is = " + first);
System.out.println("Last name in the List is = " + last);
}
}
Output:
First name in the List is = Deepinder Goyal
Last name in the List is = Falguni Nayar
2. Before Java 8 Release
- To find first and last elements in an ArrayList, check whether list is empty
- If list is not empty, then
- get first element using get(index) method by passing 0th index
- get last element using get(index) method by passing last index of the list i.e., (list.size -1)
FindFirstAndLastElementInArrayList.java
package in.bench.resources.find.list;
import java.util.ArrayList;
import java.util.List;
public class FindFirstAndLastElementInArrayList {
public static void main(String[] args) {
// local variables
String first = null;
String last = null;
// create List object
List<String> names = new ArrayList<>();
// add names to newly created ArrayList
names.add("Deepinder Goyal");
names.add("Vinay Sanghi");
names.add("Bipin Preet Singh");
names.add("Vijay Shekhar Sharma");
names.add("Falguni Nayar");
// find First and Last element of ArrayList
if(!names.isEmpty()) {
first = names.get(0);
last = names.get(names.size() - 1);
}
// print to console
System.out.println("First name in the List is = " + first);
System.out.println("Last name in the List is = " + last);
}
}
Output:
First name in the List is = Deepinder Goyal
Last name in the List is = Falguni Nayar
Related Articles:
- Java 8 – Find Largest number in an Arrays or List or Stream
- Java 8 – Find Smallest number in an Arrays or List or Stream
- Java 8 – Find 2nd Largest number in an Arrays or List or Stream
- Java 8 – Find 2nd Smallest number in an Arrays or List or Stream
- Java 8 – Find sum of Largest 2 numbers in an Arrays or List or Stream
- Java 8 – Find sum of Smallest 2 numbers in an Arrays or List or Stream
- Java 8 – Find 1st and Last elements in an Arrays
- Java 8 – Find 1st and Last elements in a List or ArrayList
- Java 8 – Find 1st and Last elements in a Set or HashSet
- Java 8 – Find 1st and Last entries in a Map or HashMap
- Java 8 – Find sum and average of a List or ArrayList
- Java 8 – How to calculate sum and average of an Arrays ?
References:
- https://docs.oracle.com/javase/8/docs/api/java/util/List.html
- https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
- https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html
- https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#findFirst–
- https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#reduce-java.util.function.BinaryOperator-
- https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html
- https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html#get–
Happy Coding !!
Happy Learning !!