Java集合框架中接口,之间的关系及其含义
数据结构:他是组织数据的一种方式,因为组织数据的方式不同,导致了有不同的数据结构。
Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes 。
其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索retrieve 、管理 manipulate ,即平时我们俗称的增删查改 CRUD 。例如,一副扑克牌(一组牌的集合)、一个邮箱(一组邮件的集合)、一个通讯录(一组姓名和电话的映射关系)等等。
2 了解接口和接口之间的关系,以及接口和类之间的关系
首先了解接口是什么:里面的方法没有具体的功能
接口——接口(extends 但不是继承,是扩展)
接口——类(抽象类)(implements)
简单了解接口
(1)Iterable:只要实现了这个接口,我们都可以使用迭代器进行遍历集合
(2)Queue:队列,先进先出
(3)Deque:双端队列
(4)SoretedSet:一组有序的不重复的集合
(5)ArrayList:可以当作顺序表,底层是一个动态的数组
(6)LinkedList:因为linkedList实现了List接口,所以不仅可以当作链表,也可以被当作队列(双端队列)。但是底层是一个双向链表
(7)Stack:栈,先进后出,底层仍然是一个动态数组
(8)PriorityQueue:优先级队列,底层是一个二叉搜索树
(9)HashSet:不能存储相同的元素,底层是一个哈希表
(10)TreeSet:底层是一个二叉搜索树
(11)HashMap:哈希表的增删查改的时间复杂度是O(1),底层是一个二叉搜索树(红黑树)
(12)TreeMap:底层也是一个二叉搜索树
#Java 集合框架的优点及作用
1>使用成熟的集合框架,有助于我们便捷、快速的写出高效、稳定的代码
2>学习背后的数据结构知识,有助于我们理解各个集合的优缺点及使用场景
3基本关系说明
connection:用来存储管理一组对象 objects ,这些对象一般被成为元素 elements。
Set :元素不能重复,背后隐含着查找/搜索的语义。
SortedSet : 一组有序的不能重复的元素
List : 线性结构
Queue : 队列
Deque : 双端队列
Map : 键值对 Key-Value-Pair ,背后隐含着查找/搜索的语义 SortedMap
一组有序的键值对
##Collection接口说明
常用方法说明
Map常用方法说明
Map示例
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class TestDemo1 {
public static void main(String[] args) {
Map<String,String> map = new HashMap<>();
map.put("黑旋风","李逵");
map.put("豹子头","林冲");
map.put("青面兽","杨志");
map.put("及时雨","宋江");
System.out.println(map);
String s = map.get("黑旋风");
System.out.println(s);
String s1 = map.getOrDefault("黑旋风1","李逵");
System.out.println(s1);
System.out.println(map.containsKey("黑旋风"));
System.out.println("===========================");
System.out.println(map.isEmpty());
int a = map.size();
System.out.println(a);
Set<Map.Entry<String,String>> mapSet = map.entrySet();
System.out.println(mapSet);
map.remove("黑旋风");
for (Map.Entry<String,String> mapset:map.entrySet()
) {
System.out.println(mapset.getKey()+" "+mapset.getValue());
}
}
}
实现classes