数据结构包括 数组、有序数组、栈、队列、链表、二叉树、红-黑树、2-3-4树、哈希表、堆、图。
数据结构 | 优点 | 缺点 |
数组 | 插入速度快 | 查找慢 |
有序数组 | 比无序的数组查找快 | 删除插入慢 |
栈 | 提供后进先出方式的存取 | 存取慢 |
队列 | 提供先进先出方式的存取 | 存取慢 |
链表 | 插入快,删除快 | 查找慢 |
二叉树 | 查找、插入都快 | 删除复杂 |
红-黑树 | 查找、插入都快、树总是平衡的 | 算法复杂 |
2-3-4树 | 查找、插入都快、树总是平衡的、类似的树对磁盘存储有用 | 算法复杂 |
哈希表 | 如果关键字已知,存储极快 | 删除慢、如果不知道关键字,则存储慢,对空间使用不充分 |
堆 | 插入、删除快,对大数据项存取快 | 对其他数据项存储慢 |
图 | 对世界建模 | 有些算法慢且复杂 |
java的基本数据类型:(从上至下,精度递增)
名称 | 大小(以位计算) | 取值范围 |
boolean | 1 | true 或 false |
byte | 8(1字节) | -128 ~ +127 (-2的7次方 ~ +(2的7次方-1)) |
char | 16(2字节) | '\u0000' ~ '\uFFFF' |
short | 16(2字节) | -32768 ~ +32767 (-2的15次方 ~ +(2的15次方-1)) |
int | 32(4字节) | - 2147483648 ~ +2147483647 (-2的31次方 ~ +(2的31次方-1)) |
long | 64(8字节) | -9223372036854775808~ +9223372036854775807 (-2的63次方 ~ +(2的63次方-1)) |
float | 32(4字节) | 约 10的-37 次方 ~ 10的37次方,7位有效数 |
double | 64(8字节) | 约 10的-307次方 ~ 10的307次方,15位有效数 |