Java 21 added SequencedCollection, so List, Deque and LinkedHashSet share addFirst, getFirst and a reversed() view.
SequencedCollection<String> steps = new ArrayList<>(List.of("build", "test", "deploy"));
System.out.println("first = " + steps.getFirst() + ", last = " + steps.getLast());
System.out.println("reversed view = " + steps.reversed());
steps.addFirst("checkout");
steps.addLast("verify");
System.out.println("after addFirst/addLast = " + steps);
first = build, last = deploy
reversed view = [deploy, test, build]
after addFirst/addLast = [checkout, build, test, deploy, verify]
Run this yourself in the Online Java Compiler, spin up a live REST API in the API Sandbox, or practise with Java interview questions.
Published 2026-07-30