Многие, если не все, другие ответы здесь подходят для небольших наборов данных. Для масштабирования требуется больше внимания. См. здесь .
В нем обсуждается несколько более быстрых способов делать групповые макс и верхние N на группу.
Считаете ли вы использование launch4j ? Я использовал его для создания своих exe-файлов, и он работает безупречно и позволяет вам установить значок. Я использую его в сочетании с izpack .