Isso também pode ser realizado usando String.format (), que pode ser mais fácil e / ou mais flexível se você estiver formatando vários números em uma sequência.
String number = "1000500000.574";
Double numParsed = Double.parseDouble(number);
System.out.println(String.format("The input number is: %,.2f", numParsed));
// Or
String numString = String.format("%,.2f", numParsed);
Para a sequência de formato "%, 2f" - "," significa separar grupos de dígitos com vírgulas e ".2" significa arredondar para duas casas após o decimal.
Para referência sobre outras opções de formatação, consulte https://docs.oracle.com/javase/tutorial/java/data/numberformat.html