f2c网站建设,建网站的好处,个人做网站能赚钱吗,英文网站建我们通常会使用 Properties 去读取 properties 文件的内容#xff0c;但 Properties 的问题是无法按照 properties 文件的顺序去读取。因为 Properties 继承自Hashtable#xff0c;是一个基于哈希表的数据结构#xff0c;元素的存储位置是通过元素的键的哈希值计算出来的但 Properties 的问题是无法按照 properties 文件的顺序去读取。因为 Properties 继承自Hashtable是一个基于哈希表的数据结构元素的存储位置是通过元素的键的哈希值计算出来的而不是按照元素插入的顺序。因此当你遍历哈希表的元素时元素的顺序通常会看起来是随机的这取决于元素键的哈希值。
如果需要一个能保持插入顺序的键值对集合可以使用LinkedHashMapLinkedHashMap在内部使用一个双向链表来记录元素的插入顺序可以保持元素的插入顺序
/*** author dongguabai* date 2024-01-30 09:42*/
public class LinkedProperties extends Properties {private final LinkedListObject keys new LinkedList();public EnumerationObject keys() {return Collections.enumeration(keys);}public Object put(Object key, Object value) {keys.add(key);return super.put(key, value);}Overridepublic SetString stringPropertyNames() {SetString names new LinkedHashSet();for (Object key : keys) {names.add((String) key);}return names;}
}