java基础知识整理

基本数据类型:

整型:byte(-128~127),short(-32768~32767),int(约20亿),long

浮点类型:float(3.4e+38~1.4e-45),double(1.7e+308~4.9e-324)注:e+38表示乘以10的38次方,e-45表示乘以10的-45次方

字符型:char,String

布尔型:boolean

集合框架:这个框架就是一个类库的集合,这些类库里的不同集合类包含了各自不同的数据结构,可以根据实际需要选择。

Iterable:迭代器接口

Collection:类集接口

List:列表接口

Set:数据集接口

Queue:队列

Map:键值对组合映射表(不能实现迭代,因为不是继承自Iterable接口)

集合框架的层次结构图:

List:有序且可重复的collection,可对List容器中的数据进行精确控制,也可以根据元素的整数索引访问,并搜索.

ArrayList:一个动态数组,可以动态添加元素或对象,该数组的容量会自动增加,每次增加后的数组容量为原数组的容量的1.5倍。

LinkedList:一个双端链表,可以从两端插入和移除元素,该数据结构是每个元素是通过pre和next值连接起来的一系列Node对象。

二者优劣比较:

使用链表结构对数据进行插入,删除和修改的效率比数组高,因为数组删除元素后需要对后续的每个元素操作一次位置,而链表的修改不对其他元素产生影响;

若是只需要查找和引用则是数组数据结构的效率更高,因为可以直接使用数组下标查询和引用,但是插入和删除效率较低,因为伴随着移位操作。

Map:(映射)一个存储键/值对的对象,给定一个键可以得到它的值(键和值都可以是对象,键必须是唯一的,值可以重复)

hashMap:基于哈希表的Map接口的实现,并允许使用null键和null值

存储方式:由ƒ(key)得到一个哈希值,作为哈希数组的下标值,存入对应下标的位置。由于哈希算法不具备结果的顺序,导致映射关系存入的顺序不一定是他们被迭代出的顺序。

对于一组不同的<K,V>值,由ƒ(key)计算所得的存储位置可能相同,若是两组<K,V>值中,K相同,V不同,则后存入的数据存入对应的哈希值对应的位置,先存入的数据以链表的形式链接在后存入数据的后面,(若<K,V>都相同,则直接覆盖)所以hashMap真实的数据结构是数组链表结构。

为了保证哈希值的作用,有着hashCode的常规协定来保证哈希表的性能和正确性。

若是需要<K,V>数据当K相同则直接覆盖原来的V值,则可以通过重写数据的hashCode()和equals()方法来实现。

类:

高级特性:

异常机制:

反射机制:

I/O流:

多线程:

泛型和object类:

GUI:

网络编程:

xml:

原文地址:https://www.cnblogs.com/thinfog/p/5613443.html