目录
1. 介绍
官方教程: Collections
Java 集合框架 Java Collection Framework
,又被称为容器 container
,是定义在 java.util
包下的一组接口interfaces
和其实现类 classes 。
其主要表现为将多个元素 element
置于一个单元中,用于对这些元素进行快速、便捷的存储 store
、检索retrieve
、管理 manipulate
,即平时我们俗称的增删查改查 。
例如,一副扑克牌(一组牌的集合)、一个邮箱(一组邮件的集合)、一个通讯录(一组姓名和电话的映射关系)等等。
类和接口总览
Java 集合框架的优点及作用
使用成熟的集合框架,有助于我们便捷、快速的写出高效、稳定的代码
学习背后的数据结构知识,有助于我们理解各个集合的优缺点及使用场景
2. 接口 interfaces
2.1 基本关系
Collection
:用来存储管理一组对象objects
,这些对象一般被成为元素elements
Set
: 元素不能重复,背后隐含着查找/搜索的语义SortedSet
: 一组有序的不能重复的元素
List
: 线性结构Queue
: 队列Deque
: 双端队列
Map
: 键值对Key-Value-Pair
,背后隐含着查找/搜索的语义SortedMap
: 一组有序的键值对
2.2 Collection 官方接口说明
链接: Collection
2.3 Collection 常用方法说明
2.4 Collection 示例
import java.util.Collection;
import java.util.ArrayList;
import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
Collection<String> list = new ArrayList<>();
System.out.println(list.size());
System.out.println(list.isEmpty());
list.add("我");
list.add("爱");
list.add("Java");
System.out.println(list.size());
System.out.println(list.isEmpty());
Object[] array = list.toArray();
System.out.println(Arrays.toString(array));
for (String s : list) {
System.out.println(s);
}
list.remove("爱");
for (String s : list) {
System.out.println(s);
}
list.clear();
System.out.println(list.size());
System.out.println(list.isEmpty());
}
}
*******运行结果*******
0
true
3
false
[我, 爱, Java]
我
爱
Java
我
Java
0
true
2.5 Map 接口说明
链接: Map官方文档
2.6 Map 常用方法说明
2.7 Map 示例
import java.util.Map;
import java.util.HashMap;
public class Demo {
public static void main(String[] args) {
Map <String, String> map = new HashMap<>();
System.out.println(map.size());
System.out.println(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.size());
System.out.println(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<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
}
}
*******运行结果*******
0
true
null
佚名
false
false
3
false
鲁迅
鲁迅
true
false
作者
鲁迅
发表时间
1918年
标题
狂人日记
3.实现 classes
附:4 学习知识点
集合框架的使用
1.Collection
2.List
3.ArrayList
4.LinkedList
5.Stack
6.Queue
7.PriorityQueue
8.Deque
9.Set
10.HashSet
11.TreeSet
12.Map
13.HashMap
14.TreeMap
15.Collections
数据结构的理论及实现
1.顺序表
2.链表
3.栈
4.队列
5.二叉树
6.堆
排序算法
1.插入排序
2.希尔排序
3.选择排序
4.堆排序
5.冒泡排序
6.快速排序
7.归并排序
Java 语法
1.泛型 Generic
2.自动装箱 autobox 和自动拆箱 autounbox
3.Object 的 equals 方法
4.Comparable 和 Comparator 接口