Adición de un mapa en la lista. El mapa se crea cuando una lista de bucle

Anónimo:

Tengo getSemiFileInfos()en una lista y que quería utilizar la corriente de bucle y entonces cada uno de elemento interior. Cada elemento puede seguir utilizando getItem()o getItem2(). Primero voy a crear un mapa de itemy item2en itemMap, entonces voy a almacenar cada bucle de getSemiFileInfos()como un mapa en la itemslista.

Lo que quiero es que sea en una sola línea. Me pregunto si todavía es posible.

private List<Map<String, String>> items;

items = new ArrayList<Map<String, String>>();

Map<String, String> itemMap = new HashMap<String, String>();
file.getFileInfo().getSemiFileInfos().stream().forEach(m-> 
    itemMap.put("item", m.getItem()); 
    itemMap.put("item2", m.getItem2().split(":",1))
);
items.add(mrphMap);
Eran :

Puede asignar cada elemento de su Streamen una Mapcon map()y recoger en un List:

List<Map<String, String>> items =
    file.getFileInfo()
        .getSemiFileInfos()
        .stream() 
        .map(m-> {
            Map<String, String> itemMap = new HashMap<String, String>();
            itemMap.put("item", m.getItem()); 
            itemMap.put("item2", m.getItem2().split(":",1)); // this doesn't produce a String
                                                             // value so perhaps you are
                                                             // missing some additional logic
                                                             // that would  extract one 
                                                             // String from the String[]
            return itemMap;
        })
        .collect(Collectors.toList());

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=228643&siteId=1
Recomendado
Clasificación