目录
Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes 。表现为将多个元素放在一个集合中,方便对这些元素进行增删改查 CRUD。
举例:一组牌的集合(一副扑克牌)
JCF:Java 集合框架
黄色方框代表的是接口,蓝色方框代表的是抽象类,棕色方框代表的是普通类。
上图中,Iterator 是一种迭代器,用来遍历集合。Java 集合框架分为两大种:Collection 接口以及 Map 接口。Collection 接口是由 List 接口、Queue 接口以及 Set 接口组成的,Collection 是一种线性数据结构。Map 接口是用来存放键值对的。
Collection 接口包括 Stack 类、ArrayList 类、LinkedList 类、PriorityQueue 类、TreeSet类、HashSet 类。
Collection 常用方法:
boolean add(E e) | 将元素 e 放入集合中 |
boolean isEmpty() | 判断集合中是否还有元素 |
boolean remove(Object o) | 删除集合中的所有元素 |
int size() | 返回集合中的元素个数 |
void clear() | 删除集合中的所有元素 |
Object[ ] toArray() | 返回一个装有所有集合中元素的数组 |
可以使用 ctrl + 鼠标看源码中还有哪些方法:
Collection 代码示例:
运行结果:
Map 接口可以使用 HashMap 以及 TreeMap (有序的键值对)来实现。通常使用 HashMap。
Map 常用方法:
V get(Object k) | 根据指定的 k 查找对应的 v |
V getOrDefault(Object k, V defaultValue) | 根据指定的 k 查找对应的 v,没有找到用默认值代替 |
V put(K key, V value) | 将指定的 k-v 放入 Map |
boolean containsKey(Object key) | 判断是否包含 key |
boolean containsValue(Object value) | 判断是否包含 value |
Set | 将所有键值对返回 |
boolean isEmpty() | 判断是否为空 |
int size() | 返回键值对的数量 |
代码示例:
- public class Demo2 {
- public static void main(String[] args) {
- Map
map = new HashMap<>(); - System.out.println("map 中的元素个数:" + map.size());
- System.out.println("map 是否为空:" + map.isEmpty());
- System.out.println(map.get("作者"));
- System.out.println(map.getOrDefault("作者", "佚名"));
- System.out.println(map.containsKey("作者"));
- System.out.println(map.containsValue("佚名"));
- map.put("作者", "鲁迅");
- map.put("标题", "狂人日记");
- map.put("发表时间", "1918年");
- System.out.println("map 中的元素个数:" + map.size());
- System.out.println("map 是否为空:" + map.isEmpty());
- System.out.println(map.get("作者"));
- System.out.println(map.getOrDefault("作者", "佚名"));
- System.out.println(map.containsKey("作者"));
- System.out.println(map.containsValue("佚名"));
- for (Map.Entry
entry : map.entrySet()) { - System.out.print(entry.getKey() + " ");
- System.out.print(entry.getValue() + " ");
- }
- }
- }
运行结果:
活动地址:CSDN21天学习挑战赛