小编use*_*240的帖子

如何比较两个MultiMap?

我有两个由两个巨大的CSV文件创建的Multimap。

Multimap<String, SomeClassObject> mapOne = ArrayListMultimap.create();
Multimap<String, SomeClassObject> mapTwo = ArrayListMultimap.create();
Run Code Online (Sandbox Code Playgroud)

我假设一个CSV列作为键,并且每个键都有成千上万个与之关联的值。这些中包含的数据Multimap应该相同。现在,我想比较这些中Multimap的数据并查找是否有任何不同的值。这是我正在考虑的两种方法:

方法一:

从清单中列出一个大清单Multimap。这个大列表将包含一些单独的列表。每个较小的列表都包含一个唯一值,该值是从中读取的“键” Multimap及其关联的值,它将构成该单个列表的其余部分。

ArrayList<Collection<SomeClassObject>> bigList = new ArrayList<Collection<SomeClassObject>>();
Run Code Online (Sandbox Code Playgroud)

其中bigList将包含单个小列表A,B,C等。

我计划在bigList检查第二个单个列表中是否Multimap包含“ key”元素的基础上,从两个文件中的每个列表中选择单个列表。如果是这样,则将这两个列表进行比较,找到所有无法匹配的内容。

方法二:

比较两个Multimaps,但是我不确定该怎么做。

哪种方法的执行时间更短?我需要在最短的时间内完成操作。

java csv arraylist multimap guava

6
推荐指数
1
解决办法
2792
查看次数

忽略部署中的多个应用程序在 Tomcat 中忽略

我试图忽略在启动时加载到 Tomcat 中的多个应用程序,以缩短启动时间。我想采用的方法来自 Host 标签:

<Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true" deployIgnore="examples>
Run Code Online (Sandbox Code Playgroud)

如果我只做一个作为示例的应用程序,它工作正常,但我只想部署我的应用程序,而不是 webapps 中的其他应用程序。在放置多个应用程序时,它只是在启动时加载 webapps 文件夹中的所有内容。文档说提供正则表达式:

在此处输入图片说明

我无法添加一个正则表达式,使其忽略部署 ROOT、主机管理器、管理器、文档、示例和文档。任何帮助将不胜感激。谢谢你。

java tomcat

2
推荐指数
1
解决办法
976
查看次数

标签 统计

java ×2

arraylist ×1

csv ×1

guava ×1

multimap ×1

tomcat ×1