Java 从列表中检索数据<;地图>;

Java 从列表中检索数据<;地图>;,java,parsing,java-stream,Java,Parsing,Java Stream,我使用StreamStream sub=ipfs.pubsub.sub(topic)订阅一个主题,然后将其收集到一个列表中,该列表将收集前两个结果List results=sub.limit(2).collect(collector.toList()),稍后将被解析 按results.stream().filter(s->s.containsKey(“数据”)).forEach(System.out::println)返回以下输出 {from=EiANvs2UUz/KwtJhTJIgOdUPvs

我使用Stream
Stream sub=ipfs.pubsub.sub(topic)
订阅一个主题,然后将其收集到一个列表中,该列表将收集前两个结果
List results=sub.limit(2).collect(collector.toList()),稍后将被解析
按
results.stream().filter(s->s.containsKey(“数据”)).forEach(System.out::println)返回以下输出

{from=EiANvs2UUz/KwtJhTJIgOdUPvsNeVF74GczENrlC4UCFVQ==, data=SGVsbG8h, seqno=FaaJ6v+WW+g=, topicIDs=[demo134001007467618]}
{from=EiANvs2UUz/KwtJhTJIgOdUPvsNeVF74GczENrlC4UCFVQ==, data=RydkYXk=, seqno=FaaJ6v+WW+k=, topicIDs=[demo134001007467618]}
现在,我应该如何从列表中获取每个值,以便在本地变量上分配它们

//Full block of code
public void pubsub() throws Exception {
       String topic = "demo" + System.nanoTime();
       Stream<Map<String, Object>> sub = ipfs.pubsub.sub(topic);
       String data = "Hello!";
       Object pub = ipfs.pubsub.pub(topic, data);
       Object pub2 = ipfs.pubsub.pub(topic, "G'day");
       List<Map> results = sub.limit(2).collect(Collectors.toList());
       results.stream().filter(s->s.containsKey("data")).forEach(System.out::println);
}
//完整的代码块
public void pubsub()引发异常{
String topic=“demo”+System.nanoTime();
Stream sub=ipfs.pubsub.sub(主题);
String data=“你好!”;
对象pub=ipfs.pubsub.pub(主题、数据);
objectpub2=ipfs.pubsub.pub(主题“G'day”);
列表结果=sub.limit(2).collect(Collectors.toList());
results.stream().filter(s->s.containsKey(“数据”)).forEach(System.out::println);
}

解决了解析问题:

 public void pubsub2() throws Exception {
        String topic = "demo" + System.nanoTime();
        Stream<Map<String, Object>> sub = ipfs.pubsub.sub(topic); 
        String data = "Hello!"; 
        Object pub = ipfs.pubsub.pub(topic, data); 
        Object pub2 = ipfs.pubsub.pub(topic, "G'day"); 
        List<Map> results = sub.limit(2).collect(Collectors.toList());

   for (int index = 0; index< results.size(); index++ ) {
            Map<String, String> listItem = results.get(index);
            System.out.println(listItem);
            Iterator it = listItem.entrySet().iterator();
                while(it.hasNext()){
                    Map.Entry pair = (Map.Entry) it.next();
                    System.out.println(pair.getKey()+" = " + pair.getValue());
                }
public void pubsub2()引发异常{
String topic=“demo”+System.nanoTime();
Stream sub=ipfs.pubsub.sub(主题);
String data=“你好!”;
对象pub=ipfs.pubsub.pub(主题、数据);
objectpub2=ipfs.pubsub.pub(主题“G'day”);
列表结果=sub.limit(2).collect(Collectors.toList());
对于(int index=0;index
为什么要他们分配局部变量?我只需要能够获取每个字段并将其分配到一个变量上,这样我就可以返回它并继续我的流程。
String a=SGVsbG8h a.decodeBase64