gpt4 book ai didi

java - 我应该在java中使用哪种数据结构来存储重复值?

转载 作者:行者123 更新时间:2023-12-02 08:26:22 27 4
gpt4 key购买 nike

Java 中存储重复值的最佳数据结构是什么?从中检索值有多容易!?

谢谢编辑 #1 我正在读取 1000 个文件中的内容,并且我想将每个文件内容作为 token 放入某些数据结构中。我使用了哈希表,但是当我这样做时我无法查看很多单词。这就是为什么我想要一个可以存储重复值的数据结构。

最佳答案

如果只是存储简单的值,您应该使用 List<E> 的实现界面。

List<E> 获取数据您可以执行以下操作:

list.get(index); // will get data at a given index
// or you can iterate over all of the items in the list
for(E item: list) {
// use E
}

根据您的用途, ArrayList<E> LinkedList<E> 会做你需要的。

另一个选项是 Map<K, V> (它是实现 HashMap )。这将允许您在唯一键下保存重复值。

您可以从 Map<K,V> 中获取值通过以下方式:

map.get(someKey); // will retrieve the value associated with a key
// or you can iterate through all of the entries in a map like so:
for(Entry<K,V> entry: map.entrySet()){
// use entry
}

对您的编辑的回复:

您可能想使用Map<String, List<String>>其中键是文件名,值是文件中单词的列表。

您的代码可能如下所示:

Map<String, List<String>> data = new HashMap<String, List<String>>();
for(File f: files) {
List<String> words = new ArrayList<String();
data.put(f.getName(), words);
Scanner s = new Scanner(f);
while(s.hasNext()) {
words.add(s.next());
}
}

在这个片段的结尾,data将填充每个文件中的单词列表。

关于java - 我应该在java中使用哪种数据结构来存储重复值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4440898/

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