一 、JAVA集合概念
把具有相同性质的一类东西汇聚成一个整体,就可以称为集合。一般数据存储结构分为以下几种:
(1)顺序存储:元素在内存中连续的存储在一起 如数组 这种存储方式有利于元素访问,但增删元素的效率很低。
(2)链式存储:元素一般由 值DATA 和 NEXT 域构成,不需要连续的空间,每个元素通过一个指向下一个元素地址的 指针连在一起。
(3)散列存储(Hash):元素值决定了对象在内存中的存储位置。换句话说 就是把元素值通过一种散列技术(hash)处理 出一个散列码,根据这个码觉得存储位置。
(4)Map映射存储:与散列存储不同的是它每个元素都由关键字与值构成,也就是键值对存储。key不能重复,根据 key的值决定存储位置。
JAVA集合类存放于java.util包下,集合类型主要有三种:set(集) list(列表) map(映射)
二、 JAVA集合使用
(1)Hashset
可以把它想象成夜晚的星星一样,没有重复,没有先后顺序。
使用HashSet set = new HashSet();创建一个集合对象
set.add("a"); 向集合中添加一个元素。
set.remove("a") 删除一个元素。
遍历集合中的元素需要使用迭代器。
Iterator it = set.iterator();
while(it.hasNext())
{ 处理代码 }
(2)TreeSet
它是一个有序的Set集合 会将元素按照默认的排序方式排序
(3)ArrayList
它是一个动态数组,可以按照下标对元素操作 适合对元素进行访问,不适合增删元素
List list = new ArrayList(); 创建一个Arraylist
list.add("a"); 添加一个元素
list.remove(0) 删除第一个元素
list.remove("a") 删除特定元素
(4)LinkedList
它是一个双向链表,适合增删元素,不适合随机访问。
LinkedList list = new LinkedList(); 创建一个LinkedList
list.add("a"); 在尾部添加元素
list.addFirst("b"); 在头部添加元素
list.addLast("c") 在尾部添加元素
list.add(1,"d") 在第二个位置插入元素
list.getFirst() 读取头部元素 list.getLast(); 读取尾部元素
list.get(1) 读取第二个元素
list.removeFirst() 删除头部元素 list.removeLast() 删除尾部元素
(5)HashMap
根据键值决定存储位置
HashMap map = new HashMap();
map.put("001","我是一个值"); 添加一个元素 001为Key
map.get("001") 返回对应的值
(6)TreeMap
是有序的HashMap
TreeMap map = new TreeMap();
map.put("001","值");