ASi

behavior of spliterator

        List<String> sl = new ArrayList<>(Arrays.asList(new String[] {"0", "1", "2", "3", "4",}));
        Spliterator<String> s = sl.spliterator();
        
        Spliterator<String> s1 = s.trySplit();
        
        Spliterator<String> s1_1 = s1.trySplit();

        Spliterator<String> s2_1 = s.trySplit();
        

        System.out.println("s1_1.getExactSizeIfKnown() " + s1_1.getExactSizeIfKnown());
        s1_1.forEachRemaining((String str)->{
            System.out.println("s1_1: " + str);
        });
        
        System.out.println("s1.getExactSizeIfKnown() " + s1.getExactSizeIfKnown());
        s1.forEachRemaining((String str)->{
            System.out.println("s1: " + str);
        });
        
        System.out.println("s2_1.getExactSizeIfKnown() " + s2_1.getExactSizeIfKnown());
        s2_1.forEachRemaining((String str)->{
            System.out.println("s2_1: " + str);
        });
        
        System.out.println("s.getExactSizeIfKnown() " + s.getExactSizeIfKnown());
        s.forEachRemaining((String str)->{
            System.out.println("s: " + str);
        });
s1_1.getExactSizeIfKnown() 1
s1_1: 0
s1.getExactSizeIfKnown() 1
s1: 1
s2_1.getExactSizeIfKnown() 1
s2_1: 2
s.getExactSizeIfKnown() 2
s: 3
s: 4