LinledHashMap、Hashtable集合
LinledHashMap
Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现与 HashMap 的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插入顺序)。
底层:哈希表+链表(记录元素顺序)
打印输出一下:
public static void main(String[] args) {
LinkedHashMap<String, String> map = new LinkedHashMap<>();
map.put("a","b");
map.put("c","d");
map.put("e","f");
map.put("a","c");
System.out.println(map);
}
}
map是不可以存储重复元素的
而且还是有序的
案例:
public static void main(String[] args) {
LinkedHashMap<String, String> map = new LinkedHashMap<>();
map.put("a","b");
map.put("c","d");
map.put("e","f");
map.put("a","c");
System.out.println(map);
}
Hashtable集合
Hashtable集合:底层也是一个哈希表,是一个线程安全的集合,是单集合,速度慢
Hashtable不可以存储null值,null键
案例:
public static void aa(){
Hashtable<Integer, String> hashtable = new Hashtable<>();
hashtable.put(null,"a");
hashtable.put(2,"a");
hashtable.put(null,"a");
System.out.println(hashtable);
}
}
写入空值的话 会报错
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY