您的位置:首页 > 运维架构 > 网站架构

使用 Weinre 调试移动网站及 PhoneGap 应用

2013-08-22 11:30 399 查看
集合框架

特点:
1:对象封装数据,对象多了也需要存储。集合用于存储对象。2:对象的个数确定可以使用数组,但是不确定怎么办?可以用集合。因为集合是可变长度的。
集合和数组的区别:
1:数组是固定长度的;集合可变长度的。2:数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。3:数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据类型。
数据结构:就是容器中存储数据的方式。

对于集合容器,有很多种。因为每一个容器的自身特点不同,其实原理在于每个容器的内部数据结构不同。
集合容器在不断向上抽取过程中。出现了集合体系。
在使用一个体系时,原则:参阅顶层内容。建立底层对象。

--< java.util >-- Collection接口:
Collection
|--List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复。
|--Set:无序(存入和取出顺序有可能不一致),不可以存储重复元素。必须保证元素唯一性。

1,添加: add(object):添加一个元素
addAll(Collection) :添加一个集合中的所有元素。
2,删除: clear():将集合中的元素全删除,清空集合
remove(obj) :删除集合中指定的对象。注意:删除成功,集合的长度会改变。
removeAll(collection) :删除部分元素。部分元素和传入Collection一致。
3,判断: boolean contains(obj) :集合中是否包含指定元素 。
booleancontainsAll(Collection) :集合中是否包含指定的多个元素。
boolean isEmpty():集合中是否有元素。
4,获取: int size():集合中有几个元素。
5,取交集: boolean retainAll(Collection) :对当前集合中保留和指定集合中的相同的元素。如果两个集合元素相同,返回flase;如果retainAll修改了当前集合,返回true。
6,获取集合中所有元素: Iterator iterator()迭代器
7,将集合变成数组: toArray();

List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复。
|--ArrayList:底层的数据结构是数组,线程不同步,ArrayList替代了Vector,查询元素的速度非常快。
|--LinkedList:底层的数据结构是链表,线程不同步,增删元素的速度非常快。
|--Vector:底层的数据结构就是数组,线程同步的,Vector无论查询和增删都巨慢。
--< java.util >-- Set接口
Set接口中的方法和Collection中方法一致的。Set接口取出方式只有一种,迭代器
|--HashSet底层数据结构是哈希表,线程是不同步的无序,高效; HashSet集合保证元素唯一性:通过元素的hashCode方法,和equals方法完成的。 当元素的hashCode值相同时,才继续判断元素的equals是否为true。 如果为true,那么视为相同元素,不存。如果为false,那么存储。 如果hashCode值不同,那么不判断equals,从而提高对象比较的速度。 |--LinkedHashSet:有序,hashset的子类。 |--TreeSet对Set集合中的元素的进行指定顺序的排序。不同步。TreeSet底层的数据结构就是二叉树。

--< java.util >-- Iterator接口:
迭代器:是一个接口。作用:用于取集合中的元素。

Map集合:
|--Hashtable底层是哈希表数据结构,是线程同步的。不可以存储null键,null值。|--HashMap底层是哈希表数据结构,是线程不同步的。可以存储null键,null值。替代了Hashtable.|--TreeMap底层是二叉树结构,可以对map集合中的键进行指定顺序的排序。Map集合存储和Collection有着很大不同:
Collection一次存一个元素;Map一次存一对元素。Collection是单列集合;Map是双列集合。Map中的存储的一对元素:一个是键,一个是值,键与值之间有对应(映射)关系。特点:要保证map集合中键的唯一性。 1,添加。 put(key,value):当存储的键相同时,新的值会替换老的值,并将老值返回。如果键没有重复,返回null。 void putAll(Map);2,删除。 void clear():清空 value remove(key):删除指定键。3,判断。 boolean isEmpty(): boolean containsKey(key):是否包含key boolean containsValue(value):是否包含value4,取出。 int size():返回长度 value get(key):通过指定键获取对应的值。如果返回null,可以判断该键不存在。当然有特殊情况,就是在hashmap集合中,是可以存储null键null值的。 Collection values():获取map集合中的所有的值。5,想要获取map中的所有元素: 原理:map中是没有迭代器的,collection具备迭代器,只要将map集合转成Set集合,可以使用迭代器了。之所以转成set,是因为map集合具备着键的唯一性,其实set集合就来自于map,set集合底层其实用的就是map的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: