gpt4 book ai didi

java - 如何从数组列表中获取某些信息并分组到Java中的其他列表中

转载 作者:行者123 更新时间:2023-11-30 08:09:13 25 4
gpt4 key购买 nike

我编写了一个程序,可以从文件夹中读取多个(类似的)文本文件。我按空间分割信息并将所有内容存储在一个数组列表中,其中包含以下数据类型:

key1=hello
key2=good
key3=1234
...
key15=repetition
key1=morning
key2=night
key3=5678
...

现在我正在寻找一种方法,将这些信息从该列表中取出,并以某种方式按其键分组到其他列表中。所以我正在寻找一种方法来获得这样的结果:

keyList1 = {hello,morning}
keyList2 = {good,night}

等等。

因此,我必须检查每一行是否有关键字(例如“key1”),并在“=”处拆分值,然后继续。

最佳答案

我认为,最适合您(描述的)需求的数据结构是 MultiMap。它就像一张 map ,但可以为一个键存储多个值。

例如 guava 项目的实现。

http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html

首先,您必须迭代数组列表:

    final Multimap<String, String> multimap = ArrayListMultimap.create();

for ( String element : arrayList ) {
String[] splitted = element.split( "=" );
multimap.put( splitted[0], splitted[1] );
}

您可以通过以下方式获取值列表:

    for (String key : multimap.keySet()) {
List<String> values = multimap.get(key);
}

您可能需要为字符串的拆分添加一些健全性检查。

(代码未经测试)

关于java - 如何从数组列表中获取某些信息并分组到Java中的其他列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30652754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com