Tag: hashtable

HashMap的迭代器是什么意思是快速失败并且HashTable的枚举器不是?

我正在查找这两个类之间的区别,这一点在很多答案中得出了这个博客的来源: http : //javarevisited.blogspot.com/2010/10/difference-between-hashmap-and。 HTML 但是我没有完全理解它。 有人可以详细说明吗? 或许有一个例子? 感谢您的关注!

无法实例化类型Set

我正在尝试创建一个字符串集,其中填充了来自Hashtable的键,因此for-each循环可以遍历Set并将默认值放在Hashtable中。 我还在学习Java,但我尝试这样做的方式并不是有效的语法。 有人可以certificate这样做的正确方法,并解释为什么我的方式不起作用,他们的方式。 private Hashtable defaultConfig() { Hashtable tbl = new Hashtable(); tbl.put(“nginx-servers”,”/etc/nginx/servers”); tbl.put(“fpm-servers”,”/etc/fpm/”); tbl.put(“fpm-portavail”,”9001″); tbl.put(“webalizer-script”,”/usr/local/bin/webalizer.sh”); tbl.put(“sys-useradd”,”/sbin/useradd”); tbl.put(“sys-nginx”,”/usr/sbin/nginx”); tbl.put(“sys-fpmrc”,”/etc/rc.d/php_fpm”); tbl.put(“www-sites”,”/var/www/sites/”); tbl.put(“www-group”,”www”); return tbl; } //This sets missing configuration options to their defaults. private void fixMissing(Hashtable tbl) { Hashtable defaults = new Hashtable(defaultConfig()); //The part in error is below… Set keys = new Set(defaults.keySet()); for (String […]

Java Generics:包含generics的数组

可能重复: Java如何:通用arrays创建 错误通用数组创建 我的任务是编写Java中的哈希表,它必须适用于任何数据类型。 我写的代码规则如下: – 哈希表必须有一个数组作为底层数据结构,其大小在构造对象时确定 – 当发生冲突时,应该放置碰撞的元素到链表中,它包含哈希表中该索引(键)的所有元素 因此,对于底层数据类型,我创建了一个LinkedList类型的数组(自定义,而不是Java API LinkedList)。 private LinkedList[] table; 当然,问题是实例化这个数组。 以下是我的一些尝试: public HashTable(int size) { table = new LinkedList[size]; } 这会引发编译时generics数组创建错误。 public HashTable(int size) { table = (LinkedList[])(new Object[size]); } 这会在运行时导致ClassCastException错误( java.lang.Object无法强制转换为LinkedList )。 项目负责人也不确定如何处理这个问题。 有什么方法可以更改我的代码,以便哈希表仍然有一个数组作为其底层数据结构,并将冲突放在LinkedList中?

如何在哈希表中保持元素的顺序

我有一个哈希表。 values()方法以某种顺序返回值,这些顺序与我插入的顺序不同。如何以与插入时相同的顺序获取值?使用LinkedHashmap是一种替代方法,但它不是同步的。