您的位置:首页 > 编程语言 > Java开发

Javase基础学习笔记之集合(1)

2014-12-11 17:36 148 查看

java代码所提倡的高内聚低耦合

内聚:一个模块内各个元素彼此结合的紧密程度

耦合:一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系。指软件系统结构中个模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。)
----------------------          为什么要集合                       ---------------------
数组虽然可存储对象,但长度固定,而集合存储对象,长度可变,但它却只能存储对象。
----------------------          集合结构                       ---------------------
总接口Collection,含有一组对象,共有功能:A:添加功能boolean add(Object obj)B:删除功能void clear()boolean remove(Object o)C:判断功能boolean contains(Object)//集合是否包含指定元素boolean isEmpty()//集合是否为空D:长度int size()E:迭代器Iterator<E> iterator()iterator():返回在此Collection元素上的迭代器举例:col即为此元素,也为对象
Collection col= new ArrayList();col.add("ab");col.add("cd");col.add("ef");Iterator it =col.iterator();
常用类关系图
----------------------          迭代器 :取集合元素                     ---------------------
迭代器:1.小碗放巧克力豆,有一个吃一个,没有就完了。2.它也是一个对象,不需要new,只需要调用iterator()方法即可获得3.Collection下所有的子元素都抽取出一个迭代器,使用iterator(),然后更加方便
----------------------          List和Set                     ---------------------
区别:List---有序(存入取出顺序一致),有索引,允许重复Set---不允许重复List特有方法:A:在指定位置添加元素void add(int index,Object obj)B:删除指定位置的元素Objct remove(int index)C:修改指定位置的元素Object set(int index,Object obj)D:获取指定位置的元素Object get(int inde)E:列表迭代器(在迭代过程中想增加元素时候用,因为如果用List会报并发线程修改异常)可以实现在迭代过程中的增删改查listIterator()方法获取列表迭代器对象ConcurrentModificationException:当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常,一般纯程在Collection迭代时,不允许进行另一个线程修改Collection

迭代器和集合同时在操作容器中元素,导致并发修改异常由于Collection元素有4个,取出时迭代器也就共4个,当找到abc2后,又增加一个元素成为5个,而迭代器还是只有4个,所以导致迭代结果不确定性,LinkedList:链表结构,啥是链表结构,下一个元素值存储的是上一个元素地址,例如删除bb的元素,则让地址cc的元素值由原来的地址bb值直接变为地址aa,而链表内存分配如图,是种很不规则的形式,一块一块的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: