1 min readAug 9, 2022
Verify Two lists using Java using stream
public class ListComparison {
public static void main(String[] args) {
// All the fruitsWithCommas must be available in fruitSaladWithCommas, or else the assertion fails.
String fruitsWithCommas="Apple,Orange,Banana,Pineapple,Avacado";
List<String> fruitsList = Stream.of(fruitsWithCommas.split(",")).map(String::trim).collect(Collectors.toList());
System.out.println("allExpectedRecipientsFound==" + fruitsList);
// Adding Mango additionally is OK won't fail.
String fruitSaladWithCommas="Banana,Avacado,Pineapple,Apple,Orange,Mango";
List<String> fruitSaladList = Stream.of(fruitSaladWithCommas.split(",")).map(String::trim).collect(Collectors.toList());
// Then check that actual actualRecipientList contains all the expectedRecipientList
boolean allExpectedRecipientsFound = fruitSaladList.containsAll(fruitsList);
Assert.assertEquals(true, allExpectedRecipientsFound, "All the Fruits were not found in fruit Salad.");
// ways to iterate though a list. https://crunchify.com/how-to-iterate-through-java-list-4-way-to-iterate-through-loop/
// Simple For loop
System.out.println("==============> 1. Simple For loop Example.");
for (int i = 0; i < fruitsList.size(); i++) {
System.out.println(fruitsList.get(i));
}
// New Enhanced For loop
System.out.println("\n==============> 2. New Enhanced For loop Example..");
for (String temp : fruitSaladList) {
System.out.println(temp);
}
// collection Stream.forEach() util: Returns a sequential Stream with this collection as its source
System.out.println("\n==============> 7. Stream.forEach() Example....");
fruitsList.stream().forEach((crunchifyTemp) -> System.out.println(crunchifyTemp));
}
}