将条目从一个Multimap复制到另一个

bonapart3

这个问题与com.google.common.collect.Multimap中的Multimap有关。

我有一个Multimap,是否有一种更简单,更方便的方法将键以关键字开头的条目复制到另一个临时Multimap?-以下是我当前的解决方案。

private Multimap<String, String> copyDesiredMetadata(Multimap<String, String> metadata)
{
    Multimap<String, String> returnedMap = new CaseInsensitiveKeyMultimap<>();

    // Iterate through the entries in the metadata
    for (Map.Entry entry : metadata.entries()) {
        String key =entry.getKey().toString();
        // If the entry has the field key we are looking for add to returned map.
        if (key.startsWith("AAA") || key.startsWith("BBB") || key.startsWith("CCC") || key.startsWith("DDD")) {
            returnedMap.put(key, entry.getValue().toString());
        }
    }
    return returnedMap;
}
让·弗朗索瓦·萨瓦德

我认为应该定义“更方便”,但是这里有一个更实用的方法:

ImmutableMultimap<String, String> yourNewMap = metadata.entries()
            .stream()
            .filter(entry -> entry.getKey().matches("(AAA|BBB|CCC|DDD).*"))
            .collect(Collector.of(ImmutableMultimap.Builder<String, String>::new, 
                    ImmutableMultimap.Builder<String, String>::put, 
                    (left, right) -> {
                        left.putAll(right.build());
                        return left;
                    }, 
                    ImmutableMultimap.Builder::build));

请注意,我使用ImmutableMultimap而不是CaseInsensitiveKeyMultimap因为我不了解此实现,但是您应该能够轻松地对其进行调整。

就我个人而言,我会将收集器提取到一个实用程序类中,以便代码看起来更整洁…… .collect(MoreCollectors.toCaseInsensitiveKeyMultimap())

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将条目从一个keepass文件复制到另一个

来自分类Dev

如何使用猫鼬将条目从一个集合复制到另一个?

来自分类Dev

将像素从一个图像复制到另一个

来自分类Dev

将文件从一个目录复制到另一个

来自分类Dev

将元素从一个内存复制到另一个

来自分类Dev

将数据从一个hbase表复制到另一个

来自分类Dev

将Android Activity从一个应用复制到另一个

来自分类Dev

将数据从一个表复制到另一个表

来自分类Dev

将内容从一个元素复制到另一个

来自分类Dev

将条件从一个对象复制到另一个对象

来自分类Dev

将特定的列从一个DataTable复制到另一个

来自分类Dev

将JS事件从一个元素复制到另一个

来自分类Dev

将消息从一个队列复制到另一个队列

来自分类Dev

将范围从一个容器复制到另一个容器

来自分类Dev

将文件从一个目录复制到另一个目录

来自分类Dev

将几列从一个表复制到另一个

来自分类Dev

将文件从一个拉链复制到另一个?

来自分类Dev

将文件从一个拉链复制到另一个?

来自分类Dev

将文件从一个NAS复制到另一个

来自分类Dev

将特定的列从一个DataTable复制到另一个

来自分类Dev

将文件从一个目录复制到另一个目录

来自分类Dev

将文本从一个终端复制到另一个终端

来自分类Dev

将数据从一个hbase表复制到另一个

来自分类Dev

将文件从一个目录复制到另一个目录

来自分类Dev

将架构从一个容器复制到另一个

来自分类Dev

将权限从一个文件复制到另一个文件

来自分类Dev

将数据从一个Excel复制到另一个Excel

来自分类Dev

将列从一个jtable复制到另一个

来自分类Dev

将一个分支从一个仓库复制到另一个仓库

Related 相关文章

热门标签

归档