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,而链表内存分配如图,是种很不规则的形式,一块一块的
相关文章推荐
- JavaSE基础学习笔记-集合框架1
- Javase基础学习笔记之集合(2)
- Javase基础学习笔记之集合(3)
- Javase基础学习笔记之集合(4)
- JavaSE基础学习笔记-集合框架2
- JavaSE基础学习笔记-提高篇-银行业务调度系统
- JavaSE学习笔记--多线程基础
- JavaSE基础学习笔记-接口和多态
- [JavaSe学习笔记-集合框架]
- java 从零开始,学习笔记之基础入门<集合>(十六)
- Object-C 基础学习笔记(基本类型、集合)
- JavaSE基础学习笔记-Java I/O系统2-File
- JavaSE基础学习笔记-提供篇-交通灯管理系统
- 集合 java基础学习笔记 第四天
- javaSE语言基础学习笔记
- JavaSE基础学习笔记-提高篇-JDK1.5新特性-泛型
- JavaSE基础学习笔记-面向对象01
- java基础学习笔记_集合
- JavaSE基础学习笔记-多线程
- python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列