Java 如何按键删除arrayList中的元素
期望的结果Java 如何按键删除arrayList中的元素,java,Java,期望的结果 [Document{{googContentType=realtime, packetsLost=0, id=ssrc_3841594688_recv, type=ssrc, timestamp=2019-07-11T07:18:43.413Z}} ,Document{{googContentType=realtime, packetsLost=0, id=ssrc_239620516_recv, type=ssrc, timestamp=2019-07-11T07:18:42.95
[Document{{googContentType=realtime, packetsLost=0, id=ssrc_3841594688_recv, type=ssrc, timestamp=2019-07-11T07:18:43.413Z}}
,Document{{googContentType=realtime, packetsLost=0, id=ssrc_239620516_recv, type=ssrc, timestamp=2019-07-11T07:18:42.955Z}}]
不一定是最佳实践,但您可以使用正则表达式替换来删除最终输出中不需要的键值对:
[Document{{ packetsLost=0, timestamp=2019-07-11T07:18:43.413Z}}
,Document{{ packetsLost=0, timestamp=2019-07-11T07:18:42.955Z}}]
这里最好的解决方案是回到生成JSON类对象的工具/代码,然后重新导出,只包含要显示的
packetsLost
和timestamp
键。在不解释问题的情况下,所需结果是什么意思?您缺少解决问题的代码。他想删除我获取的对象中的字段。我想删除arrayList中的某个键;我使用了removedIf,但无法执行itremoveIf(谓词过滤器):删除此集合中满足给定谓词的所有元素。您应该使用remove(索引)或remove(对象)。还有一件事:尝试声明为:List List=new ArrayList(),谢谢您的帮助
[Document{{ packetsLost=0, timestamp=2019-07-11T07:18:43.413Z}}
,Document{{ packetsLost=0, timestamp=2019-07-11T07:18:42.955Z}}]
List<String> singleOut = single.stream()
.map(x -> x.replaceAll("(?:googContentType|id|type)=\\S+\\s*", ""))
.collect(Collectors.toList());
singleOut.forEach(System.out::println);
Document{{packetsLost=0, timestamp=2019-07-11T07:18:43.413Z}}
Document{{packetsLost=0, timestamp=2019-07-11T07:18:42.955Z}}