Java Base
2024-05-28 20:30:49 37 举报
AI智能生成
java基础知识点 java基础知识点 java基础知识点 java基础知识点 java基础知识点
作者其他创作
大纲/内容
底层实现
网络
Soket
http
多线程
run
线程安全
面向对象
特性
多态(polymorphism):丰富功能 避免大量重载 父类调用子类
继承(extend):提高复用 子类调用父类
抽象:
封装:强内聚、弱耦合 封装和隐藏属性与方法,仅提供外部接口
记忆:多继抽封
五大面向对象原则
单一职责
集合
Map
HashMap-哈希
Hashtable-与hashtable相似
子类
Properties
ConcurrentHashMap
WeakHashMap
与HashMap相似,但key对对象实行弱引用,即key所引用的变量没被其他强引用变量引用则会被回收
IdentityHashMap
特点:与HashMap相似,但key相等“key1 == key2”即可,而HashMap需要equals为True
作用:序列化或者深度复制。或者记录对象代理
EnumMap
初始化时需指定枚举类
LinkedHashMap
分支主题
SortedMap
子类
TreeMap
排序:见TreeSet
特点
实现
通过内部类Entry来将key-value以Set集合的形式存储
key的存储位置有hashCode确定,为此key必须为对象且实现hashCode()
Coletion
子类
Queue-队列
先进先出
PriorityQueue
从小到大排序
Deque双端队列
子类
ArrayQueue
List 列表
特点
值可重复,可为NULL
有序
数字下标
接口
add(int index,Object o)/addAll(int index,Colletion c):添加元素到指定位置/将集合中的元素都在指定位置插入
indexOf(Object o)/lastIndexOf(Object o):返回第一次出现的位置/返回最后一次出现的位置
set(int index,Object o):替换指定位置元素
listIterator():返回ListIterator对象
分支主题
ArrayList
长度
initialCapacity确定长度,可使用ensureCapacity(int capacity)设置initialCapacity值
默认长度为10,大数据量时一次性设置长度有利性能
Vector(旧类,与ArrayList相似)
子类
Stack栈
特点
后进先出
接口
pop():返回第一个元素且出栈
peek():返回第一个元素但不出栈
push(Object o):向栈头添加一个元素
记忆
与队列queue对立
LinkedList
分支主题
Set-集合
特点
值不可重复,可为NULL
无序,根据HashCode设定位置
速度:EnumSet>HashSet>TreeSet
HashSet
LinkedHashSet
特点
有序,按添加顺序排序
低效
存储位置:通过hashCode()方法获取hashCode来确定
相等判断:equals()返回true且hashCode相等
TreeSet
有序,从小到大升序排列
添加元素必须implements Comparable接口(int compareTo()返回0/<0/>0:相等/小于/大于)方法
排序
自然排序:添加元素必须implements Comparable接口(int compareTo()返回0/<0/>0:相等/小于/大于)方法
定制排序:TreeSet通过匿名内部类得到Comparator对象,写人int compareTo()返回0/<0/>0:相等/小于/大于)方法。
EnumSet
静态类,通过指定枚举类型来创建集合,如EnumSet.allOf(BookType.class);
实现原理
记忆
接口
Iterator iterator()
boolean contains(Object o)/boolean containsAll(Colletion c)
int size()
Object[] toArray()
boolean add()/ addAll(Colletion c)/clear()/remove(Object o)
sort(Conlletion c,Comparator tor)
其他
Hash算法(Hash:哈希/散列)
记忆
clear清除
contains包涵
set设置值
add添加
put添加
all参数为集合
linked集合需维护插入顺序,遍历性能不错,插入和删除次子、随机读取最差
枚举类型各方面性能都不错
线程安全的集合不允许NULL
排序都是从小到大
List要维护长度,Map和Set要维护存储位置
数据结构
线性结构
Stack-栈
一维数组
队列
线性表
集合
图结构
基础
泛型(参数化类型)
基础泛型
复杂泛型
重载与重写
重载(override):不同的参数类型可以是不同的参数类型,不同的参数个数,不同的参数顺序(参数类型必须不一样)
重写(voerload):除方法体不一样其他都一致
作用域
默认是friendly
Object
String
equals
分支主题
树结构
一般树
二叉树
0 条评论
下一页