
Map集合
通过键获取值:
发布日期:2025-04-12 01:21:17
浏览次数:9
分类:精选文章
本文共 3943 字,大约阅读时间需要 13 分钟。
Java集合系列
一、map集合的特点及遍历方式
map集合的特点
map集合是一种键值对存储的数据结构,支持快速查找和修改操作。其主要特点包括:
- 键值对存储:通过键可以快速找到对应的值
- 单键存储:每个键只能对应一个值
- 无序存储:默认情况下,map集合的键值对是无序存储的
- 灵活性:支持动态添加、删除和修改操作
map集合的遍历方式
map集合提供了两种遍历方式:
Set keys = map.keySet();for (Object key : keys) { System.out.println("键:" + key + " 对应的值:" + map.get(key));}
- 通过映射关系遍历:
- 将字符串转换为字符数组
- 遍历字符数组
- 使用map集合记录每个字符的出现次数
- 最后输出字符及其出现次数
- 按字符排序:可以通过将map集合转换为TreeMap( TreeMap )来实现按字符出现次数的排序
- 降序排序:可以使用自定义的Comparator来实现降序排序
Set> entrySet = map.entrySet();for (Map.Entry entry : entrySet) { System.out.println("键:" + entry.getKey() + " 对应的值:" + entry.getValue());}
二、字符串出现次数统计
实现思路
代码实现
package com.chendongli.map;import java.util.HashMap;import java.util.Map;import java.util.Set;import java.util.Map.Entry;public class Demo2 { public static void main(String[] args) { String s = "asjhdfhjhsafjsjljkejrjtjttrjytj"; Mapmap = new HashMap<>(); char[] arr = s.toCharArray(); for (char c : arr) { Integer value = map.get(c); if (value == null) { map.put(c, 1); } else { map.put(c, value + 1); } } Set > entrySet = map.entrySet(); for (Map.Entry entry : entrySet) { System.out.println(entry.getKey() + ":" + entry.getValue()); } }}
扩展功能
三、泛型的应用
打印偶数
package com.chendongli.map;import java.util.HashSet;import java.util.Set;public class Demo3 { public static void main(String[] args) { Set
集合间的相互转换
package com.chendongli.map;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Demo4 { public static void main(String[] args) { String[] arr = {"a", "b", "c", "d"}; Listlist = Arrays.asList(arr); list.add("e"); System.out.println(list.size()); }}
工具类的应用
package com.chendongli.map;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;import java.util.Map;public class Demo5 { public static void main(String[] args) { Listlist = new ArrayList<>(); list.add("b"); list.add("c"); list.add("a"); System.out.println(list); Collections.sort(list); System.out.println("顺序排序:" + list); Collections.sort(list, (x, y) -> y.compareTo(x)); System.out.println("倒序排序:" + list); }}
四、自定义类的排序
package com.chendongli.map;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Demo5 { public static void main(String[] args) { Listlist = new ArrayList<>(); list.add(new Person("a", 18)); list.add(new Person("c", 17)); list.add(new Person("b", 20)); System.out.println(list); Collections.sort(list); Collections.sort(list, (y, x) -> x.getName().compareTo(y.getName())); System.out.println("倒序:" + list); Integer[] arr = {3, 6, 9, 2, 5, 8}; Arrays.sort(arr, (x, y) -> y - x); System.out.println("降序:" + Arrays.toString(arr)); }}class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String toString() { return "Person [name=" + name + ", age=" + age + "]"; }}
五、总结
通过以上示例可以看出,Java集合在日常开发中具有广泛的应用场景。从简单的map集合到复杂的集合运算,再到泛型的灵活应用,Java为开发者提供了强大的工具箱。掌握这些内容是成为一名优秀开发者的基础。
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月27日 00时28分23秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux部署Oracle
2025-04-10
linux防火墙规则
2025-04-10
linux高级数据存储
2025-04-10
Linux高阶知识:Linux 中的隐藏文件
2025-04-10
Linux(3):Linux命令-文件管理
2025-04-10
Linux(7):VIM的使用
2025-04-10
linux(乌班图)修改apt下载源
2025-04-10
Linux:CentOS安装Docker Compose
2025-04-10
Linux:安装Nginx
2025-04-10
Linux:安装npm
2025-04-10
Linux:安装Redis
2025-04-10
List,Set,Map三者的区别(不同点)
2025-04-10
List<T> to DataTable
2025-04-10
ListBox 循环删除当前项
2025-04-10
listbox相互传值
2025-04-10
Listener监听器
2025-04-10
Listview 利用Datapager进行分页
2025-04-10
listview数据刷新后自动滑到底部
2025-04-10