Java数据结构之HashMap和HashSet
HashMap
介绍
HashMap是一种基于哈希表实现的Map集合,它提供了快速的插入、查询、删除操作。HashMap中存储的元素是以键值对(Key-Value)的形式存储的,其中Key是用来从Map中查找值的索引,Value是存储在Map中的值。HashMap中的Key和Value都可以为null,但是在使用时需要注意它们的影响。
用法
创建HashMap对象
Map<String, Integer> map = new HashMap<>();
插入元素
map.put("one", 1);
map.put("two", 2);
map.put("three", 3);
获取元素
int value = map.get("two"); // value = 2
删除元素
map.remove("one");
遍历元素
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
int value = entry.getValue();
System.out.println(key + ": " + value);
}
示例
示例1:计算字符串中每个字符出现的次数
String str = "Hello World";
Map<Character, Integer> map = new HashMap<>();
for (char ch : str.toCharArray()) {
if (map.containsKey(ch)) {
map.put(ch, map.get(ch) + 1);
} else {
map.put(ch, 1);
}
}
for (Map.Entry<Character, Integer> entry : map.entrySet()) {
char key = entry.getKey();
int value = entry.getValue();
System.out.println(key + ": " + value);
}
示例2:查找数组中是否有重复元素
int[] nums = {1, 2, 3, 4, 5, 2};
Map<Integer, Integer> map = new HashMap<>();
for (int num : nums) {
if (map.containsKey(num)) {
System.out.println("数组中有重复元素:" + num);
break;
} else {
map.put(num, 1);
}
}
HashSet
介绍
HashSet是一种基于哈希表实现的Set集合,它同样提供了快速的插入、查询、删除操作。HashSet中存储的元素是无序的,不重复的,没有索引。HashSet中的元素可以为null,但是在使用时需要注意它的影响。
用法
创建HashSet对象
Set<String> set = new HashSet<>();
插入元素
set.add("one");
set.add("two");
set.add("three");
删除元素
set.remove("one");
遍历元素
for (String str : set) {
System.out.println(str);
}
示例
示例1:计算字符串中不重复字符的个数
String str = "Hello World";
Set<Character> set = new HashSet<>();
for (char ch : str.toCharArray()) {
set.add(ch);
}
System.out.println("不重复字符的个数是:" + set.size());
示例2:求两个数组的交集
int[] nums1 = {1, 2, 3, 4, 5};
int[] nums2 = {3, 4, 5, 6, 7};
Set<Integer> set1 = new HashSet<>();
Set<Integer> set2 = new HashSet<>();
for (int num : nums1) {
set1.add(num);
}
for (int num : nums2) {
set2.add(num);
}
set1.retainAll(set2);
System.out.println("两个数组的交集是:" + set1);
以上就是关于Java数据结构之HashMap和HashSet的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java数据结构之HashMap和HashSet - Python技术站