我有一个哈希集,在其中我存储了一个列表唯一的URL。我想让它成为一个二维哈希集,其中我有一个唯一的URL列表和一个非唯一的数字。然后我想能够在这个列表中搜索URL和与之相关的数字。下面是我想要创建的列表的示例。
www.test1.com - 200
www.test2.com - 503
www.test3.com - 400
www.test4.com - 200
www.test5.com - 404
www.test6.com - 404
然后我想搜索www.test2.com并返回503。使用哈希集可以做到这一点吗?或者我应该看别的东西?
哈希图可能更适合您的情况。
Map<String, Integer> urlHashMap = new HashMap<String, Integer>();
urlHashMap.put("www.test1.com", 200);
System.out.println(urlHashMap.get("www.test1.com")); //outputs 200
它提供了一种从地图中获取值的更简单、更容易的方法。
尝试使用以URL为键、以返回代码为值的HashMap。HashMap在幕后使用HashSet。
对于您来说,合适的数据结构似乎是构建一个Dictionary\HashMap(所有键都是唯一的:test1、test2、…,并且值不必是唯一的)。
示例:
HashMap<String,String> pairs = new HashMap<String,String>();
pairs.put("www.test1.com","404");
您可以使用地图来实现您想要的目标,如下所示:
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("www.test1.com", 200);
map.put("www.test2.com", 503);
...and so on