Tengo una lista de objetos de la siguiente manera.
List<Map<String, CustomObject>> xList = getData();La estructura de xList es la siguiente.
[ { ask: { description: { pricing: "200", // other key / values } }, // other key / values }, { description: { pricing: "500", // other key / values } // other key / values }, more objects ] Estoy buscando cambiar el valor de la clave de pricing .
Esta clave está destinada a usarse para ordenar a través de otro servicio y buscar ocultar el valor real.
Así, por ejemplo, si el valor de precio para Object1 es 200 y Object2 es 500, deseo modificar el objeto o crear una copia de la siguiente manera donde el valor de pricing se ordena desde el más bajo:
[ { ask: { description: { pricing: "1", // order 1 cos 200 is lower than 500 // other key / values } }, // other key / values }, { ask: { description: { pricing: "2", // order 2 cos 500 is higher than 200 // other key / values } }, // other key / values }, more objects ] Pero para saber el valor del pedido correctamente, necesitaré saber
todos los valores de precios primero antes de modificar cualquier cosa.
No puedo ver cómo podría saber todos los valores de pricing y modificar los valores a través de una transmisión. ¿Podría obtener algún consejo, por favor?
Estaba intentando algo como lo siguiente, pero como dije, no puedo hacer esto sin conocer primero todos los valores de precios.
List<Map<String, CustomObject>> xList = getData(); xList.stream().map(AllData::getAsk) .map(map -> map.get("description")) .map(stringObjectMap -> stringObjectMap.get("pricing"))o
for (CustomObject data : xList) { Map<String, Object> map = data.getAsk().get("description"); int pricing = Integer.parseInt((String) map.get("pricing")); }