1

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]

1
  • 1
    Check if the key equals "TXNO" and if true add the value to your list. Commented Oct 23, 2017 at 10:07

3 Answers 3

4
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).

Sign up to request clarification or add additional context in comments.

Comments

1

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

Comments

1

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);
        }
    }

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.