I want to convert one string array to list with specific range. In my case I always want from index 1 to last index. I don't need the index 0 value included in the list. Is there any direct method that I can use to filter and convert to the list as I need ?
public class test1 {
    public static void main(String[] args) {
        String[] optArr = {"start", "map1", "map2", "map3"};
        List<String> list = Arrays.stream(optArr).collect(Collectors.toList());
        System.out.println(list);
    }
}
                You can use Stream.skip():
List<String> list = Arrays.stream(optArr).skip(1).collect(Collectors.toList());
                        You can also use the overloaded method Arrays.stream(T[] array, int startInclusive, int endExclusive) as :
List<String> list = Arrays.stream(optArr, 1, optArr.length)
                          .collect(Collectors.toList());
Returns a sequential Stream with the specified range of the specified array as its source.
Alternatively(non Java-8), using the subList is an option, but I would prefer chaining it in one-line instead of creating a new object as:
List<String> list = Arrays.asList(optArr).subList(1, optArr.length);
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With