Java集合框架(JCF—-Java Collections Framework)
集合框架
功能:
用来将储存的数据以某种结构组织,并以特定的方式来访问这些数据,其目标是提供一个处理对象集合的通用框架,减少程序员处理不同对象集合时的编码量。
分类:
分为Colection(集合接口)和算法类。
Collection三种接口类:
1.List:
特点:线性(有序),存放在该种集合中元素有顺序,而且可以有重复对象。
常用方法:
add()
remove()
set()
size()
get()
常用子类:
ArrayList:底层实现数组,线程不安全。尾部及查看元素使用居多。
LinkedLis:底层实现链表(双向链表)。中间插入元素使用居多。
Vector:底层结构为数组,多个线程访问同一资源时使用,线程安全。
2.Set
特点:不能重复,使用自己内部的一个排列机制。操作一系列数据,而且数据数量无重复。
常用方法:
add()
remove()
size()
实现接口:
HashSet:
1.遍历接口时没有顺序
2.不允许有重复元素出现,这里指相同的哈希码。
3.允许包含空对象。
严格意义来说:
一旦重新equals方法,则应同时重新hashCode方法(哈希码值相同)。
equals返回true,hashcode值相同。
如果equals返回false,那么hashcode不要求返回值一定相同。
Map
Map接口不是Collection的继承。
Map接口用于维护键值对。
Map接口实现类的共同方法:
put()—-增加,当键重复时可以修改覆盖。
get()
keySet()形成一个set(不重复,无序)
Set allkey =map.keySet();
values()形成一个collection(重复,无序)
remove()
实现类的选择:
HashMap:
速度多,不排序。