Im having a List> as
[{TXNO=428, STATUS=NEW}, {TXNO=434, STATUS=NEW}, {TXNO=442, STATUS=NEW}]
I'm iterating the object as
for (Map<String, Object> map : details) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
logger.info(key+"="+value);
}
}
It prints as
TXNO=428
STATUS=NEW
TXNO=434
STATUS=NEW
TXNO=442
STATUS=NEW
How can I add TXNO values in a list? My List object finally should be [428,434, 442]
List<String> TXNOList = new LinkedList<String>();
for (Map<String, Object> map : details) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
logger.info(key+"="+value);
if(key.equals("TXNO")) {
TXNO.add(value);
}
}
}
If you need a Integer list just change the TXNOList definition to Integer and cast value to Integer: Integer.valueOf(value)
.
If you can use java 8, then here's an elegant solution:
List<Object> txno = mapList.stream()
.map(map -> map.get("TXNO")) // get value by key
.filter(Objects::nonNull) // check if not null
.collect(Collectors.toList()); // collect to list
You can do this way :-
List<Object> TXList=new ArrayList<Object>();
for (Map<String, Object> map : details) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
if(key.equals("TXNO"))
TXList.add(value);
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.