--在应用开发中,常常会使用数据容器来操作应用程序的数据。
java中有比较完善的**Collections Framework **供我们调用。
--Introduction:
1.The Java platform includes a collections framework.A collection is an Object that represents a group of objects.
2.The primary advantanges:
Java提供好了数据结构和算法,不再需要我们底层的自己去设计实现,直接给我们调用,减少开发时间和精力。
即:关于底层的数据结构与算法,java collections 已经帮我们封装好了我们只需要会调用就好。
- The cllections framework consists of :
-java集合框架的架构模式是:
** --纵向结构**
--上层定义相关接口:-->Collection -->Set
-->List
-->Queue
-->Map-->SortedMap
--中间层是相关的抽象类:
--应用层是根据不同的功能需求设计出来的不同的实现类:
--通用实现类:ArrayList,LinkedList,
HashSet,TreeSet,LinkedHashSet,
TreeMap, HashMap,LinkedHashMap
--早期设计不佳的历史遗留类:Vector,Stack,HashTable
--实现专为高度并行使用的并发实现类:ConcurrentHashMap,ConcurrentSkipListSet
--横向结构
--横向分为:java.util.Collection 和 java.util.Map 两个组。
--在项目中用的比较多的是List和Map的数据结构:
--List是线性存储结构:包含ArrayList和LinkedList:
--ArrayList:随机访问元素较快,插入删除元素比较慢
--LinkedList:插入删除比较快,随机访问比较慢
--add():添加元素
--contains():判断是否在列表中
--remove(Object o)||remove(int index) :移除对象
--iterator() :迭代器
-- toArray() :返回数组
--clear()清除所有对象
--isEmpty():是否为空
--size():容器的大小
--Map键值对存储结构,就像一个简单的数据库。
--Map.put<key,values>:存入对象,存入相同的key值,那么后者的value将覆盖前者。
--Map.get(key):获取对象,如果不存在返回null
--containsKey()||containsValue():判断是否包含对象
--clear():清除所有内容
--clone();克隆对象
--values():返回包含的对象集
--size():容器的大小
--remove(Object key) :移除对象
--isEmpty():是否为空
**list的一个例子:**
lists.add("aaa");
lists.add("bbb");
lists.add("ccc");
System.out.println(lists);//所有Collection的容器可以之syso打印出来。
lists.add(2,"dddd"); //可以像数组一样添加数据,注意下标不能越界。
System.out.println(lists);
System.out.println(lists.get(0));//像数组一样可以下标获取
--OUT:
[aaa, bbb, ccc]
[aaa, bbb, dddd, ccc]
aaa