字符序列
JVM中1个字符(char) = 2个byte Unicode
操作系统
windows:GBK->GB2312
Linux:UTF-8 ISO8859-1
UTF-8: 1char = 3byte
gbk: 1char = 2byte
API:(解决乱码问题)
byte[] getBytes();:根据默认字符集来编码
new String(bs);:按照默认字符集解码
byte[] getBytes(“charset”):按照指定字符集编码
new String(bs1, “gbk”);:按照指定字符集解码
泛型(编译时有效)
< E >:泛型的本质是, 支持Object类型
定义泛型:
类/接口的定义上就加上< E >
在这个类的方法中, 具体类型就可以使用 E 来代替
泛型的意义:
当类/方法 可以支持任意类型时, 就可以将类型动态传入
不确定类型, 但是又想要具体类型
数据类型
数组ArrayList
继承List
物理空间连续, 自带位置, 快速定义到任意位置-查询效率高
拥有与下标index有关的API
栈Stack, LinkedList
Stack继承Vector,LinkedList继承Queue
push():添加元素
pop():删除栈顶
队列LinkedList
继承Queue
offer():添加元素
poll():获得并删除队列头
peek():获得队列头
双端队列LinkedList
继承Deque
offerFirst():在队列头前加元素
offerLast():在队列尾后加元素
pollFirst():获得并删除队列头
pollLast():获得并删除队列尾
peekFirst():获得队列头
peekLast():获得队列尾
双向链表LinkedList
继承List
物理空间不连续, 结点为单位, 只能从头结点访问
拥有与下标index有关的API