import java.util.List;
import java.util.Arrays;
import java.util.Collections;
public class SortDecimalStrings {
// Comparator method to sort strings as decimal numbers
public static int compareAsDecimal(String a, String b) {
// Convert strings to double for comparison
double numA = Double.parseDouble(a);
double numB = Double.parseDouble(b);
return Double.compare(numA, numB);
}
public static void main(String[] args) {
// Input list of strings
List<String> numbers = Arrays.asList("12.3", "5.6", "789.1", "3.14", "456.0",
"0", "0.01", "4.0");
// Sort the list using the custom comparator
Collections.sort(numbers, (a, b) -> compareAsDecimal(a, b));
System.out.println("Sorted list of decimal strings:");
for (String num : numbers) {
System.out.print(num + " ");
}
}
}
/*
run:
Sorted list of decimal strings:
0 0.01 3.14 4.0 5.6 12.3 456.0 789.1
*/