Java中的列表数组

R12*_*234 1 java arrays list object

在Java中,如何创建一个数组,其中每个元素都是包含一对键的对象列表.

然后给出这个数组的索引,我应该能够在索引处搜索提供单个键值并检索相应的值.

问题陈述

我有大约200万个网页名称,每个名称对应的类别(一个或多个).

我可以使用一些哈希函数将它们向下哈希说1,00,000但显然它们将是冲突.

我想在Java中构建一个可以存储所有这些信息的数据结构,然后给出一个网页,然后在散列后,给定索引,我可以找到网页的类别.

Bjö*_*lex 9

听起来你想要的是一组地图:

List<Map<KeyType, ValueType>> myList = new ArrayList<Map<KeyType, ValueType>>();
Run Code Online (Sandbox Code Playgroud)

这是你添加地图的方式:

myList.add(new HashMap<KeyType, ValueType>());
Run Code Online (Sandbox Code Playgroud)

这是您使用as键添加value到索引处的地图的方式:ikey

myList.get(i).put(key, value);
Run Code Online (Sandbox Code Playgroud)

key在索引i使用的地图中搜索:

ValueType value = myList.get(i).get(key);
Run Code Online (Sandbox Code Playgroud)

编辑:编辑后我认为你的问题的解决方案就是简单地使用HashMap<String, List<String>>.您可以使用webpageas键的名称和类别名称列表作为值.没有必要实现自己的哈希映射(听起来就像你正在做的那样).