public static void main(String[] args) {
        double sum=860.10+1808.09;
        double sum1=1808.09+860.10;
        
        System.out.println(sum);// output is  2668.19
        System.out.println(sum1);// output is  2668.19
        List<Double> lst=new ArrayList<Double>();
        lst.add(860.10);
        lst.add(1808.09);
        Double res=lst.stream().mapToDouble(d->d).sum();
        System.out.println(res);// output is  2668.1900000000005
        
        lst.clear();
        //adding in reverse order
        lst.add(1808.09);
        lst.add(860.10);
        
        res=lst.stream().mapToDouble(d->d).sum();
        System.out.println(res);// output is  2668.19
    }
Why mapToDouble sum method is producing wrong output sometimes? Why the order is important here, both the inputs are of type double.
 
     
    