迭代列表<;地图<;字符串,对象>&燃气轮机;并使用Java将object的值添加到列表中

迭代列表<;地图<;字符串,对象>&燃气轮机;并使用Java将object的值添加到列表中,java,Java,我有一个列表>作为 [{TXNO=428, STATUS=NEW}, {TXNO=434, STATUS=NEW}, {TXNO=442, STATUS=NEW}] 我将对象迭代为 for (Map<String, Object> map : details) { for (Map.Entry<String, Object> entry : map.entrySet()) { String key = entry.

我有一个列表>作为

[{TXNO=428, STATUS=NEW}, {TXNO=434, STATUS=NEW}, {TXNO=442, STATUS=NEW}]
我将对象迭代为

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);
            }
        }
如何在列表中添加TXNO值?我的列表对象最终应该是[428434442]

List TXNOList=new LinkedList();
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);
                }
            }
        }
用于(地图:详细信息){ 对于(Map.Entry:Map.entrySet()){ String key=entry.getKey(); 对象值=entry.getValue(); logger.info(键+“=”+值); if(键等于(“TXNO”)){ TXNO.add(价值); } } }
如果需要整数列表,只需将TXNOList定义更改为Integer,并将值强制转换为Integer:
Integer.valueOf(value)

list TXNOList=new LinkedList();
用于(地图:详细信息){
对于(Map.Entry:Map.entrySet()){
String key=entry.getKey();
对象值=entry.getValue();
logger.info(键+“=”+值);
if(键等于(“TXNO”)){
TXNO.add(价值);
}
}
}

如果您需要一个整数列表,只需将TXNOList定义更改为Integer,并将value转换为Integer:
Integer.valueOf(value)
如果您可以使用java 8,那么这里有一个优雅的解决方案:

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
List txno=mapList.stream()
.map(map->map.get(“TXNO”)//按键获取值
.filter(Objects::nonNull)//检查是否为null
.collect(Collectors.toList());//收讫

如果您可以使用java 8,那么这里有一个优雅的解决方案:

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
List txno=mapList.stream()
.map(map->map.get(“TXNO”)//按键获取值
.filter(Objects::nonNull)//检查是否为null
.collect(Collectors.toList());//收讫

您可以这样做:-

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);
        }
    }
List TXList=new ArrayList();
用于(地图:详细信息){
对于(Map.Entry:Map.entrySet()){
String key=entry.getKey();
对象值=entry.getValue();
if(键等于(“TXNO”))
TXList.add(值);
}
}

您可以这样做:-

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);
        }
    }
List TXList=new ArrayList();
用于(地图:详细信息){
对于(Map.Entry:Map.entrySet()){
String key=entry.getKey();
对象值=entry.getValue();
if(键等于(“TXNO”))
TXList.add(值);
}
}
检查键是否等于“TXNO”,如果为true,则将值添加到列表中。检查键是否等于“TXNO”,如果为true,则将值添加到列表中。