目录:
前言:
编程时要存放多个数据,可以使用数组保存多个数据,但是数组有他的缺点:
1、指定了数组长度就不可变了
2、无法保存映射关系的数据
所以为了保存不确定数据以及有映射关系的数据Java提供了集合类,也称容器类。可大致分为:
1、set,表示不可重复,无序的集合。只能根据元素本身来访问。
2、List,表示有序,可重复的集合。可以直接根据元素的索引来访问。
3、Map,具有映射关系的集合。根据key访问value。
4、Queue,一种队列集合。
数组中的元素可以是基本类型也可以是对象,而集合里只能是对象(实际上是对象的引用变量)。
一、集合类有两个接口派生:collection和map。

二、collection接口
常用方法:
1、boolean add(Object o):添加一个元素
2、void clear():清除所有元素
3、boolean contins(Object o):返回集合是否包含某个元素
4、int size():元素个数
5、Iterator iterator():遍历
6、boolean remove(Object o):删除指定元素(包含多个时,只删除第一个)
7、Object[] toArray():转化为数组
import java.util.ArrayList;
import java.util.Collection;
public class CollectionTest {
public static void main(String[] args) {
//简要介绍了各种方法
Collection collection=new ArrayList();
collection.add("java");
collection.add(666);
System.out.println("元素个数"+collection.size());
System.out.println("是否包含java"+" "+collection.contains("java"));
collection.clear();
System.out.println("元素个数"+collection.size());
}
}
遍历方法
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
public class CollectionIterator {
public static void main(String[] args) {
Collection books=new HashSet();
books.add("haha");
books.add("java");
System.out.println("直接输出");
System.out.println(books);
System.out.println("使用Iterator遍历");
// 使用Iterator遍历,注意Iterator迭代时不可更改集合元素
Iterator iterator=books.iterator();
while (iterator.hasNext()) {
String book = (String) iterator.next();
System.out.println(book);
if(book.equals("java")){
iterator.remove();//可以用这种方法
}
}
}
}
使用forEachRemaining遍历,使用forEach遍历
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
public class Collectionfer {
public static void main(String[] args) {
Collection book=new HashSet();
book.add("haha");
book.add("java");
System.out.println("使用forEachRemaining遍历");
Iterator iterator=book.iterator();
iterator.forEachRemaining(obj->System.out.println("集合元素 "+obj));
System.out.println("使用forEach遍历");
book.forEach(obj->System.out.println("集合元素 "+obj));
}
}