Java 8 Stream – Read a file line by line
In Java 8, you can use Files.lines to read file as Stream. A new method lines() has been added since 1.8, it lets BufferedReader returns content as Stream.
Favourite tutorials for developers
In Java 8, you can use Files.lines to read file as Stream. A new method lines() has been added since 1.8, it lets BufferedReader returns content as Stream.
In Java, we can use Double.parseDouble() to convert a String to primitive double, and we can use Double.valueOf() to convert a String to an Double object.
In Java, we can use String.format or DecimalFormat to format a double, both support Locale based formatting.
There are a few ways to round float or double to 2 decimal places in Java. In short, for monetary calculation, picks BigDecimal; for display purpose, picks DecimalFormat(“0.00”). We can use DecimalFormat(“0.00”) to ensure the number always round to 2 decimal places. For DecimalFormat, the default rounding mode is RoundingMode.HALF_EVEN, and we can use setRoundingMode(RoundingMode) to set a specified rounding mode. We also can convert the double to a BigDecimal object and set the scale and rounding mode. The String.format is working fine, and the default rounding is half-up; however, we have no way to configure the type of rounding mode.
In Java, there are few ways to display double in 2 decimal places. We can use DecimalFormat(“0.00”) to ensure the number is round to 2 decimal places. We also can use String formater %2f to round the double to 2 decimal places. However, we can’t configure the rounding mode in String.format, always rounding half-up. We can convert double value to BigDecimal to set scale to 2 decimal places.
There are many monetary values calculation in the financial or e-commerce application, and there is one question that arises for this – Should we use double or float data type to represent the monetary values? Answer: Always uses java.math.BigDecimal to represent the monetary values. With double or float – It cannot calculate all the decimals precisely. To avoid the decimal issue above, we can use BigDecimal to represent the monetary values; furthermore, we can control the BigDecimal scale much more straightforward. BigDecimal performs exact decimal arithmetic.
In Java 8, we can use the Stream.reduce() to sum a list of BigDecimal. Java example to sum a list of BigDecimal values, using a normal for loop and a stream.reduce(). We can use technique of Map and Reduce to Sum all BigDecimal from a list of Invoices.
In Java 8 Stream, the findFirst() returns the first element from a Stream, while findAny() returns any element from a Stream.
Code snippets to convert a primitive array int[] to a List
Java example to show the use of Arrays.sort() to sort an Array. The code should be self-explanatory. Output Download Source Code $ git clone https://github.com/favtuts/java-core-tutorials-examples $ cd …