1:Collection(重点)
(1)为了方便我们对多个对象进行存储和操作,java就提供了专门用于存储对象的对象,就是集合框架。
A:由于集合是一种容器,而容器由于数据结构不同,所以呢,存储数据的方式也不一样。
不断的向上抽取,最终形成了集合的继承体系结构。
Collection
|--List
|--ArrayList
|--Vector
|--LinkedList
|--Set
|--HashSet
|--TreeSet
继承体系结构的学习和使用方式:
学习顶层的内容,因为顶层定义的是整个体系的共性内容。
使用底层的实现类。
B:集合的特点
长度是可变的。
只能存储对象。如果你存储的是基本类型,那是有一个自动装箱的过程。
可以存储不同类型的对象。但是一般存储的还是同一种类型的对象。
C:集合和数组的区别
数组长度固定,可以存储基本类型和引用类型,只能存储同一种类型的数据。
集合长度可变,只能存储引用类型,可以存储不同类型的数据。
(2)Collection的功能
A:添加元素
boolean add(Object obj)
boolean addAll(Collection c)
B:删除元素
boolean remove(Object obj)
boolean removeAll(Collection c)
void clear()
C:判断
boolean contains(Object obj)
boolean containsAll(Collection c)
D:迭代
Iterator iterator()
迭代器是一个接口。每种集合都有自己的实现方式。
E:交集
boolean retainAll(Collection c)
A,B两个集合做交集,返回的结果是A集合是否变化。
交集存储在了A集合中,B集合没有变化。
F:长度
int size()
G:集合变成数组
Object[] toArray()
(3)Iterator的功能
A:判断是否有元素
boolean hasNext()
B:获取元素
Object next()
代码步骤:
**创建集合对象
**创建要添加的数据对象
**添加数据
**遍历数据
遍历的步骤:
Iterator it = 集合对象名.iterator();
while(it.hasNext())
{
数据对象 x = (数据对象的类型)it.next();
//进行操作
}
(4)用Collection存储元素并输出
A:存储字符串
Collection c = new ArrayList();
c.add("haha");
c.add("hehe");
c.add("heihei");
Iterator it = c.iterator();
while(it.hasNext())
{
String s = (String)it.next();
System.out.println(s);
}
B:存储自定义对象
2:List(重点)
(1)List是Collection的一个子体系。它下面的集合对象存储元素的特点是:
元素有序(存入顺序和取出顺序一致),元素可以重复。
(2)List的特有功能
A:添加元素
void add(int index,Object obj)
B:删除元素
Object remove(int index)
返回的是删除的那个元素
C:修改元素
Object set(int index,Object obj)
返回的是修改前的那个元素
D:获取元素
Object get(int index)
获取指定索引的元素。
和size()方法结合使用,可以遍历List的集合。
E:特有迭代器
ListIterator listIterator
此迭代器是Iterator的子接口。可以逆向遍历。
(3)List存储元素并输出
A:存储字符串
List list = new ArrayList();
list.add("haha");
list.add("hehe");
list.add("heihei");
//第一种
Iterator it = list.iterator();
while(it.hasNext())
{
String s = (String)it.next();
System.out.println(s);
}
//第二种
ListIterator lit = list.listIterator();
while(lit.hasNext())
{
String s = (String)lit.next();
System.out.println(s);
}
//第三种
for(int x=0; x<list.size(); x++)
{
String s = (String)list.get(x);
System.out.println(s);
}
B:存储自定义对象
3:Random对象的使用
(1)它是一个用于生成随机数的类.
(2)构造方法
A:Random r = new Random();
每次生成的随机数都是变化的。
B:Random r = new Random(17);
每次生成的随机数是一致的。
(3)功能方法
A:int nextInt():返回的是int类型范围内的一个数据
B:int nextInt(int n):返回的是int在0-n之间的一个数据。包括0,不包括n。
如何获取一个1-100之间的数据呢?
r.nextInt(100)+1
(1)为了方便我们对多个对象进行存储和操作,java就提供了专门用于存储对象的对象,就是集合框架。
A:由于集合是一种容器,而容器由于数据结构不同,所以呢,存储数据的方式也不一样。
不断的向上抽取,最终形成了集合的继承体系结构。
Collection
|--List
|--ArrayList
|--Vector
|--LinkedList
|--Set
|--HashSet
|--TreeSet
继承体系结构的学习和使用方式:
学习顶层的内容,因为顶层定义的是整个体系的共性内容。
使用底层的实现类。
B:集合的特点
长度是可变的。
只能存储对象。如果你存储的是基本类型,那是有一个自动装箱的过程。
可以存储不同类型的对象。但是一般存储的还是同一种类型的对象。
C:集合和数组的区别
数组长度固定,可以存储基本类型和引用类型,只能存储同一种类型的数据。
集合长度可变,只能存储引用类型,可以存储不同类型的数据。
(2)Collection的功能
A:添加元素
boolean add(Object obj)
boolean addAll(Collection c)
B:删除元素
boolean remove(Object obj)
boolean removeAll(Collection c)
void clear()
C:判断
boolean contains(Object obj)
boolean containsAll(Collection c)
D:迭代
Iterator iterator()
迭代器是一个接口。每种集合都有自己的实现方式。
E:交集
boolean retainAll(Collection c)
A,B两个集合做交集,返回的结果是A集合是否变化。
交集存储在了A集合中,B集合没有变化。
F:长度
int size()
G:集合变成数组
Object[] toArray()
(3)Iterator的功能
A:判断是否有元素
boolean hasNext()
B:获取元素
Object next()
代码步骤:
**创建集合对象
**创建要添加的数据对象
**添加数据
**遍历数据
遍历的步骤:
Iterator it = 集合对象名.iterator();
while(it.hasNext())
{
数据对象 x = (数据对象的类型)it.next();
//进行操作
}
(4)用Collection存储元素并输出
A:存储字符串
Collection c = new ArrayList();
c.add("haha");
c.add("hehe");
c.add("heihei");
Iterator it = c.iterator();
while(it.hasNext())
{
String s = (String)it.next();
System.out.println(s);
}
B:存储自定义对象
2:List(重点)
(1)List是Collection的一个子体系。它下面的集合对象存储元素的特点是:
元素有序(存入顺序和取出顺序一致),元素可以重复。
(2)List的特有功能
A:添加元素
void add(int index,Object obj)
B:删除元素
Object remove(int index)
返回的是删除的那个元素
C:修改元素
Object set(int index,Object obj)
返回的是修改前的那个元素
D:获取元素
Object get(int index)
获取指定索引的元素。
和size()方法结合使用,可以遍历List的集合。
E:特有迭代器
ListIterator listIterator
此迭代器是Iterator的子接口。可以逆向遍历。
(3)List存储元素并输出
A:存储字符串
List list = new ArrayList();
list.add("haha");
list.add("hehe");
list.add("heihei");
//第一种
Iterator it = list.iterator();
while(it.hasNext())
{
String s = (String)it.next();
System.out.println(s);
}
//第二种
ListIterator lit = list.listIterator();
while(lit.hasNext())
{
String s = (String)lit.next();
System.out.println(s);
}
//第三种
for(int x=0; x<list.size(); x++)
{
String s = (String)list.get(x);
System.out.println(s);
}
B:存储自定义对象
3:Random对象的使用
(1)它是一个用于生成随机数的类.
(2)构造方法
A:Random r = new Random();
每次生成的随机数都是变化的。
B:Random r = new Random(17);
每次生成的随机数是一致的。
(3)功能方法
A:int nextInt():返回的是int类型范围内的一个数据
B:int nextInt(int n):返回的是int在0-n之间的一个数据。包括0,不包括n。
如何获取一个1-100之间的数据呢?
r.nextInt(100)+1