目录
1. Collection
1.1 集合类概述
集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变。
1.2 集合类体系结构
1.3 Collection集合概述和使用
Collection集合概述
- 是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素
- JDK不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现
创建Collection集合的对象
- 多态的方式
- 具体的实现类ArrayList
实例:
import java.util.ArrayList;
import java.util.Collection;
/*
* 创建Collection的对象
* 多态的方式
* ArrayList()*/
public class CollectionTest {
public static void main(String[] args) {
//创建Collection的对象
Collection<String> c = new ArrayList<String>();
//添加元素:boolean add(E e);
c.add("hello");
c.add("hello");
c.add("lucycia");
//输出集合对象
System.out.println(c);
}
}
控制台输出:
我们发现输出的是字符串,但是c对象是new出来的,说明已经重写了toString()方法
我们去查看源代码,首先查看ArrayList的继承关系
我们可以发现ArrayList继承了AbstractList类和一些接口,接口中不能重写方法,所以我们去AbstractList类中去寻找,结果发现AbstractList也没有重写toString方法,再去AbstractCollection类中去寻找,结果发现在这个类中重写了toString()方法
1.4 Collection集合常用方法
方法名 | 说明 |
boolean add(E e) | 添加元素 |
boolean remove(Object o) | 从集合中移除指定的元素 |
void clear() | 清空集合中的元素 |
boolean contains(Object o) | 判断集合中是否存在指定的元素 |
boolean isEmpty() | 判断集合是否为空 |
int size() | 集合的长度,也就是集合中元素的个数 |
实例:
/*
boolean add(E e) 添加元素
boolean remove(Object o) 从集合中移除指定的元素
void clear() 清空集合中的元素
boolean contains(Object o) 判断集合中是否存在指定的元素
boolean isEmpty() 判断集合是否为空
int size() 集合的长度,也就是集合中元素的个数
*/
public class CollectionTest2 {
public static void main(String[] args) {
Collection<String> c = new ArrayList<String>();
c.add("hello,world!");
c.add("hello,java!");
c.add("hello,java!");
System.out.println(c);
System.out.println(c.remove("hello,world!"));
System.out.println(c);
c.clear();
System.out.println(c);
c.add("hello,world!");
c.add("hello,java!");
c.add("hello,java!");
System.out.println(c.contains("hello,world!"));
System.out.println(c.isEmpty());
}
}
控制台输出:
1.5 Conlection集合的遍历
Iterator:迭代器,集合的专用遍历模式
Java Iterator不是一个集合,它是一种用于访问集合的方法,可用于迭代ArrayList和HashSet等集合。
- Iterator<E> iterator():返回此集合中元素的迭代器,通过集合的iterator()方法得到
- 迭代器是通过集合的iterator()方法得到的,所以我们说它是依赖于集合而存在的
Interator中的常用方法
- E next():返回迭代中的下一个元素,并且更新迭代器的状态
- boolean hasNext():如果迭代具有更多元素,则返回true
-
public void remove():将迭代器返回的元素删除
实例:
public class InteratorTest {
public static void main(String[] args) {
//创建集合对象
Collection<String> c = new ArrayList<>();
//添加元素
c.add("hello,world!");
c.add(