I'm trying to learn how to use the Java 8 collections and I was wondering if there was a way to convert my list to a map using a java stream.
    List<PrimaryCareDTO> batchList = new ArrayList<>();
    PrimaryCareDTO obj = new PrimaryCareDTO();
    obj.setProviderId("123");
    obj.setLocatorCode("abc");
    batchList.add(obj);
    obj = new PrimaryCareDTO();
    obj.setProviderId("456");
    obj.setLocatorCode("def");
    batchList.add(obj);
I'm wondering how I would go about creating my list above into a map using a stream. I know how to use the foreach etc with puts, but I was just wondering if there was a more elegant way to build the map using a stream. (I'm aware the syntax below is not correct, I'm new to streams and not sure how to write it)
    AtomicInteger index = new AtomicInteger(0);
    Map<String, Object> result = batchList.stream()
            .map("providerId" + index.getAndIncrement(), PrimaryCareDTO::getProviderId)
            .map("locatorCode" + index.get(), PrimaryCareDTO::getLocatorCode);
The goal is to represent the following.
    Map<String, Object> map = new HashMap<>();
    //Group a
    map.put("providerId1", "123");
    map.put("locatorCode1", "abc");
    //Group b
    map.put("providerId2", "456");
    map.put("locatorCode2", "def");
 
     
    