1:集合(掌握)
(1)集合的由来?(了解)
由于面向对象的语言操作数据的最基本单位就是对象。
而有些时候为了对多个对象进行操作,我们就必须对这多个对象进行存储和取出。
用以前学习过的数组可以实现,但是,数组的长度是固定的,所以java就提供了
集合供我们使用。
(2)集合的特点:(理解)
A:长度可以发生改变
B:可以存储不同类型的对象
C:只能存储对象类型
(3)面试题:集合和数组的区别
集合:
长度可以改变
可以存储不同类型的对象
只能存储对象类型
数组:
长度固定
只能存储同一种类型的元素
可以存储基本类型,也可以存储对象类型
(4)集合体系的由来:(理解)
A:由于数据结构不同,所以,java就会提供多种集合供我们使用,
而不管这些集合是怎么存储和取出的,它们都有共性的内容,通过
不断的向上抽取,最终形成了集合的继承体系结构图。
数据结构:存储数据的方式
B:集合的体系图:
Collection
|--List
|--ArrayList
|--Vector
|--LinkedList
|--Set
|--HashSet
|--TreeSet
(5)Collection接口中的功能概述:(掌握 请自己补齐中文)
A:添加功能
boolean add(Object obj)
boolean addAll(Collection c)
B:删除功能
boolean remove(Obejct obj)
boolean removeAll(Collection c)
void clear()
C:判断功能
boolean contains(Object obj)
boolean containsAll(Collection c)
boolean isEmpty()
D:迭代器功能
Iterator iterator()
|--boolean hasNext()
|--Object next()
E:长度
int size()
F:交集
boolean retainAll(Collection c)
G:转成数组
Object[] toArray()
(6)迭代器的使用:(理解)
A:就是集合的一种遍历方式。
B:使用:必须以集合作为前提。
C:原理:请参照迭代器的原理.bmp
(7)代码体现:(掌握)
集合使用的步骤:
a:创建集合对象
b:创建元素对象
c:添加元素
c:遍历集合
**通过集合对象调用iterator()方法获取迭代器对象
**通过迭代器对象的hasNext()进行判断是否有元素
**通过迭代器对象的next()进行获取元素
A:集合存储字符串并遍历
Collection c = new ArrayList();
//String s = new String("hello");
c.add("hello");
c.add("world");
c.add("java");
Iterator it = c.iterator();
while(it.hasNext())
{
String s = (String)it.next();
System.out.println(s);
}
B:集合存储自定义对象并遍历
a:先写一个类。
我假设这个类已经存在。
b:代码测试:
Collection c = new ArrayList();
Student s1 = new Student("hello",20);
Student s2 = new Student("world",30);
Student s3 = new Student("java",40);
c.add(s1);
c.add(s2);
c.add(s3);
Iterator it = c.iterator();
while(it.hasNext())
{
Student s = (Student)it.next();
System.out.println(s.getName()+"***"+s.getAge());
}
(1)集合的由来?(了解)
由于面向对象的语言操作数据的最基本单位就是对象。
而有些时候为了对多个对象进行操作,我们就必须对这多个对象进行存储和取出。
用以前学习过的数组可以实现,但是,数组的长度是固定的,所以java就提供了
集合供我们使用。
(2)集合的特点:(理解)
A:长度可以发生改变
B:可以存储不同类型的对象
C:只能存储对象类型
(3)面试题:集合和数组的区别
集合:
长度可以改变
可以存储不同类型的对象
只能存储对象类型
数组:
长度固定
只能存储同一种类型的元素
可以存储基本类型,也可以存储对象类型
(4)集合体系的由来:(理解)
A:由于数据结构不同,所以,java就会提供多种集合供我们使用,
而不管这些集合是怎么存储和取出的,它们都有共性的内容,通过
不断的向上抽取,最终形成了集合的继承体系结构图。
数据结构:存储数据的方式
B:集合的体系图:
Collection
|--List
|--ArrayList
|--Vector
|--LinkedList
|--Set
|--HashSet
|--TreeSet
(5)Collection接口中的功能概述:(掌握 请自己补齐中文)
A:添加功能
boolean add(Object obj)
boolean addAll(Collection c)
B:删除功能
boolean remove(Obejct obj)
boolean removeAll(Collection c)
void clear()
C:判断功能
boolean contains(Object obj)
boolean containsAll(Collection c)
boolean isEmpty()
D:迭代器功能
Iterator iterator()
|--boolean hasNext()
|--Object next()
E:长度
int size()
F:交集
boolean retainAll(Collection c)
G:转成数组
Object[] toArray()
(6)迭代器的使用:(理解)
A:就是集合的一种遍历方式。
B:使用:必须以集合作为前提。
C:原理:请参照迭代器的原理.bmp
(7)代码体现:(掌握)
集合使用的步骤:
a:创建集合对象
b:创建元素对象
c:添加元素
c:遍历集合
**通过集合对象调用iterator()方法获取迭代器对象
**通过迭代器对象的hasNext()进行判断是否有元素
**通过迭代器对象的next()进行获取元素
A:集合存储字符串并遍历
Collection c = new ArrayList();
//String s = new String("hello");
c.add("hello");
c.add("world");
c.add("java");
Iterator it = c.iterator();
while(it.hasNext())
{
String s = (String)it.next();
System.out.println(s);
}
B:集合存储自定义对象并遍历
a:先写一个类。
我假设这个类已经存在。
b:代码测试:
Collection c = new ArrayList();
Student s1 = new Student("hello",20);
Student s2 = new Student("world",30);
Student s3 = new Student("java",40);
c.add(s1);
c.add(s2);
c.add(s3);
Iterator it = c.iterator();
while(it.hasNext())
{
Student s = (Student)it.next();
System.out.println(s.getName()+"***"+s.getAge());
}