Skip to main content


Showing posts with the label sorting algorithms

How to sort collections in Java 8?

Introduction In this post, we will explore different ways to sort Java collections in a certain order. Java platform provides a  Collections framework that represents a group of objects. All the Java classes those implement the Collection interface have by default implemented the sort method i.e. Collections.sort(list/set/Array) Java classes like String, Date, Integer, Double, Float, Long, Integer etc implements the Comparable interface by default. Java provides us with the following two interfaces to compare and sort the custom objects Comparable Interface  public interface Comparable<T> { public int compareTo(T o); } Java 8 also provides the built in Comparator.comparing method that returns an instance of Comparable. Comparator Interface public interface Comparator<T> { int compare(T o1, T o2); } In this post we will use the following student class for practice. public class Student{ public String name; public Integer age; public St

Java Bubble Sort Example

Introduction Bubble sort is the simplest sorting algorithm. It has the following steps a) Iterates through the list b) Compares the adjacent elements c) Swap the adjacent elements if they are in not in proper sorting order d) The list is traversed repeatedly unless the list is sorted Worst Complexity : O(n*n) Best Complexity    : O(n) Alternate name      : Sinking Sort Implementation using Simple Loops public class BubbleSortExample { private static int array[] = {0,5,2,6,3,1}; static int temp = 0; public static void main(String[] args) { bubbleSortAscending(); System.out.println("Ascending Sorted List"); for(int value : array) { System.out.print(value + " "); } bubbleSortDescending(); System.out.println("Descending Sorted List"); for(int value : array) { System.out.print(value + " "); } } private static void bubbleSortAscending() { for(int outer=0; outer<array.length; outer++) {