一、集合和数组的区别
集合:
1、长度可变
2、可存储多种类型
3、只可以存储引用类型
数组:
1、长度固定
2、可以存储基本类型,也可以存储引用类型
3、存储的数据类型一致
二、为什么使用集合
Java是面向对象语言,面向对象语言对事物的体现都是对象的形式,所以唯一方便对对象的操作,我们就需要对多个对象进行存储,数组是可以存储对象,但是数组的长度固定,无法适应变化的需求所以Java就为我们提供了集合
三、集合类
关系图:
1、Collection接口
1.1概述:是集合的顶层接口,定义了集合的共性功能,可以存储对象,这些对象也被称为元素
1.2成员方法:
A:添加功能
boolean add(Object obj):往集合中添加一个元素
boolean addAll(Collection c):往集合中添加多个元素
B:删除功能
void clear():清空所有元素
boolean remove(Object o):从集合中删除一个元素
boolean removeAll(Collection c):从集合中删除另一个集合的元素
C:判断功能
boolean contains(Object o):判断集合中是否包含指定的元素
boolean containsAll(Collection c):判断集合中是否包含另一个集合的元素
boolean isEmpty():判断集合是否为空。
D:交集功能
boolean retainAll(Collection c)
E:迭代器(集合特有的遍历方式)
Iterator iterator()
F:长度功能
int size():返回集合中元素的个数
G:集合转数组
Object[]toArray():把集合转成数组,然后遍历数组,其实就相当于遍历了集合
package com.edu_01;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionDemo {
public static void main(String[] args) {
/*A:添加功能
boolean add(Object obj):往集合中添加一个元素
boolean addAll(Collection c):往集合中添加多个元素*/
Collection c = new ArrayList<>();
c.add("hello");
c.add("java");
Collection c2 = new ArrayList<>();
c2.add("hello");
c2.add("c++");
c.addAll(c2);
System.out.println(c);//[hello, java, hello, c++]
/*B:删除功能
void clear():清空所有元素
boolean remove(Object o):从集合中删除一个元素
boolean removeAll(Collection c):从集合中删除另一个集合的元素*/
//c.remove("c++");
//System.out.println(c);//[hello, java, hello]
//c.removeAll(c2);
//System.out.println(c);//[java]
//c.clear();
//System.out.println(c);//[]
/*C:判断功能
boolean contains(Object o):判断集合中是否包含指定的元素
boolean containsAll(Collection c):判断集合中是否包含另一个集合的元素
boolean isEmpty():判断集合是否为空。*/
boolean contains = c2.contains("c++");
System.out.println(contains);//true
boolean containsAll = c.containsAll(c2);//true
System.out.println(containsAll);
boolean empty = c.isEmpty();
System.out.println(empty);//false
/*交集功能:boolean retainAll(Collection c)*/
boolean retainAll = c.retainAll(c2);
System.out.println(retainAll);//true
System.out.println(c);//[hello, hello, c++]
/*E:迭代器(集合特有的遍历方式)
Iterator iterator()
重点:Iterator的使用
A:使用步骤
B:迭代器原理*/
Iterator iterator = c.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
/* F:长度功能:int size():返回集合中元素的个数*/
int size = c.size();
System.out.println(size);
/*G:集合转数组
Object[]toArray():把集合转成数组,然后遍历数组,其实就相当于遍历了集合。*/
Object[] array = c.toArray();
}
}