1.1集合出现的原因:
数组在存储数据的时候是有固定长度,而且必须存储同一种数据类型的数据,集合的出现就是为了补充这个不足的
2.1集合的分类:
集合分为单列集合(Collection)和双列集合(map)。这两个只是实现集合的两个接口(接口的特点是不能用来创建对象,所以在实际的开发中他们只是用来作为父类出现)。
- 单列集合(Collection)下面是List集合接口和Set集合接口,List集合的特点是:有序,有索引,里面的元素是可以重复的。Set集合的特点是:无序,无索引,里面的元素是不可以重复的
- 双列集合(Map)下面是hashMap类,可以直接用来new出来对象的
3.1单列集合(Collection)讲解:
List接口下面对应的有两个类:第一个是ArrayList类,其数据结构是数组结构,第二个是LinkedList类,其数据结构是链表结构
1.Collection中成员方法:
boolean add(E e):添加元素
boolean remove(Object o):从集合中移除元素
void clear():清空集合中的元素
boolean contains(Object o):判断集合中是否存在指定的元素
boolean isEmpty():判断集合是否为空
int size():集合的长度,也就是集合中元素的个数
这几个方法是Collection接口中的方法,也就是说单列集合中无论是List接口还是Set接口都能使用的
2.集合的使用步骤:
- 创建集合对象
- 创建元素对象
- 添加元素
- 遍历集合
- 使用元素
详细介绍上面步骤的实现代码!
1.创建集合对象,上面提到过接口是不能创建对象,所以这里需要使用继承的方法来创建对象
List<String>list=new ArrayList();
String是数据类型,可以改变的,这里为了举例子就这样写了!
2创建元素对象
String s="iiiii";
3.添加元素
list.add(s);
这一步结束,就将元素添加到集合中了
4.遍历集合
集合的遍历有三种形式:第一种是使用普通for循环(不适用没有索引的List集合),第二种是迭代器,第三种是增强for循环
public static void main(String[] args) {
List<String>list=new ArrayList();
list.add("小红");
list.add("小李");
//迭代器遍历集合
Iterator<String>w=list.iterator();
while(w.hasNext()) {
String st = w.next();
System.out.println(st);
}
//普通for遍历集合
for(int i=0;i<list.size();i++) {
String s = list.get(i);
System.out.println(s);
}
//增强for遍历集合
for (String string : list) {
System.out.println(string);
}
}
无论是单列集合还是双列集合都要使用上面的步骤去实现集合的价值,只是双列集合的遍历是不相同的,下面会讲到。
3.List特有的方法
- void add(int index,E element):在指定位置添加元素。
- E remove(int index):删除指定位置的元素。
- E get(int index):获取指定位置的元素
- E set(int index,E element):修改指定位置的元素