>
> 【痕迹】QQ+微信朋友圈和聊天记录分析工具
>
> (1)纯Python语言实现,使用Flask后端,本地分析,不上传个人数据。
>
> (2)内含QQ、微信聊天记录保存到本地的方法,真正实现自己数据自己管理。
>
> (3)数据可视化分析QQ、微信聊天记录,提取某一天的聊天记录与大模型对话。
>
> **下载地址:https://www.alipan.com/s/x6fqXe1jVg1**
>
基本原理
在Java中,HashMap
是一种基于哈希表的Map
接口实现,它存储键值对(key-value pairs),并允许高效的查找、插入和删除操作。HashMap
不是同步的,并且它允许一个null
键和多个null
值。HashMap
的键必须提供合适的hashCode()
实现,以便正确地分布键值对。
代码示例
示例1:使用entrySet()
遍历HashMap
import java.util.HashMap;
import java.util.Map;
public class HashMapIterationExample {
public static void main(String[] args) {
HashMap map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
map.put("Cherry", 3);
// 使用entrySet()遍历HashMap
for (Map.Entry entry : map.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println(key + " : " + value);
}
}
}
示例2:使用keySet()
遍历HashMap
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class HashMapKeySetIteration {
public static void main(String[] args) {
HashMap map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
map.put("Cherry", 3);
// 使用keySet()获取所有键,并遍历它们
Set keys = map.keySet();
for (String key : keys) {
Integer value = map.get(key);
System.out.println(key + " : " + value);
}
}
}
示例3:使用values()
遍历HashMap
import java.util.HashMap;
import java.util.Map;
public class HashMapValuesIteration {
public static void main(String[] args) {
HashMap map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
map.put("Cherry", 3);
// 使用values()获取所有值,并遍历它们
for (Integer value : map.values()) {
System.out.println(value);
}
}
}
注意事项
- 线程安全:
HashMap
不是线程安全的。如果需要在多线程环境中使用,可以考虑使用ConcurrentHashMap
或者在外部同步代码块中使用HashMap
。 - null键和值:
HashMap
允许一个null
键和多个null
值,但Hashtable
不允许。 - 哈希冲突:
HashMap
使用链表和红黑树来解决哈希冲突,当链表的长度超过一定阈值时,链表会转换为红黑树以提高性能。 - 迭代器的快速失败:
HashMap
的迭代器是快速失败的,这意味着如果HashMap在迭代过程中被修改,迭代器会立即抛出ConcurrentModificationException
。
结论
HashMap
是Java中一个非常强大的数据结构,它提供了快速的查找、插入和删除操作。通过entrySet()
、keySet()
和values()
方法,我们可以以不同的方式遍历HashMap
。理解HashMap
的工作原理和注意事项可以帮助我们更有效地使用它,并避免常见的陷阱。在实际开发中,选择合适的数据结构对于提高程序的性能和可维护性至关重要。
>
> 【痕迹】QQ+微信朋友圈和聊天记录分析工具
>
> (1)纯Python语言实现,使用Flask后端,本地分析,不上传个人数据。
>
> (2)内含QQ、微信聊天记录保存到本地的方法,真正实现自己数据自己管理。
>
> (3)数据可视化分析QQ、微信聊天记录,提取某一天的聊天记录与大模型对话。
>
> 下载地址:https://www.alipan.com/s/x6fqXe1jVg1
>