当我们学的Collection集合接口的时候它其中的方法很多,我们要记住的方法也很多,这个知识在日后的学习开发中也什么的常用所以总结出一个学习的方式和大家分享; 1:集合(理解) (1)java是一种面向对象语言,如果我们要针对多个对象进行操作,就必须对多个对象进行存储。 而对多个元素进行存储,前面我们学习过数组,数组的弊端,长度固定。这样,数组将不能 满足变化的要求。所以,java就提供了集合供我们使用。 (2)集合的特点: A:长度可以发生改变 B:只能存储对象 C:可以存储多种类型对象(一般存储的还是同一种) (3)集合和数组的区别(掌握) A:长度问题 数组固定 集合可变 B:存储元素问题 数组可以是基本类型,也可以是引用类型。 集合只能是引用类型。 C:是否同一类型 数组元素类型一致。 集合元素类型可以不一致。 (4)集合体现的由来 集合是存储多个元素的容器,但是,由于数据结构不同,java就提供了多种集合类。 而这多种集合类有共性的功能,所以,通过不断的向上抽取,最终形成了集合体系 结构。 数据结构:数据存储的方式。 Collection |--List |--ArrayList |--Vector |--LinkedList |--Set |--HashSet |--TreeSet 2:Collection的功能(掌握) (1)Collection的功能(自己补齐中英文意思) A:添加功能(掌握) B:删除功能(掌握) C:判断功能(掌握) D:遍历功能(掌握) E:长度功能(掌握) F:交集功能 G:转换功能 (2)迭代器的使用 A:使用步骤 a:通过集合对象获取迭代器对象。 b:通过迭代器对象判断。 c:通过迭代器对象获取。 B:迭代器原理 由于多种集合的数据结构不同,所以存储方式不同,所以,取出方式也不同。 这个时候,我们就把判断和获取功能定义在了一个接口中,将来,遍历哪种 集合的时候,只要该集合内部实现这个接口即可。 C:迭代器源码(了解) publicinterface Iterator { publicabstract boolean hasNext(); publicabstract Object next(); } publicinterface Collection { publicabstract Iterator iterator(); } publicinterface List extends Collection { ... } publicclass ArrayList implements List { publicIterator iterator() { returnnew Itr(); } privateclass Itr implements Iterator { publicboolean hasNext(){...} publicObject next(){...} } } (3)集合的常见使用步骤: A:创建集合对象 B:创建元素对象 C:把元素添加到集合中 D:遍历集合 a:通过集合对象获取迭代器对象。 b:通过迭代器对象判断。 c:通过迭代器对象获取。 B:存储自定义对象(自己补齐) Collection c=newArrayList(); Student s1=new Student("林青霞",26); c.add("s1"); Iteratorit=c.iterator(); while(it.hasNext()) { Strings=(String)it.next(); System.out.println(s); } 3:List的特有功能(掌握) (1)List的特有功能(自己补齐) A:添加功能 B:删除功能 C:修改功能 D:获取功能 (3)ListIterator迭代器 A:是Iterator的子接口。 B:有自己的特有功能,可以逆向遍历数据,但是需要先正向遍历。一般不用。 (4)面试题:并发修改异常 A:并发修改异常的产生原因 用迭代器遍历集合,用集合去操作集合。 B:解决方案: a:使用集合操作。 b:使用列表迭代器操作。
|