1. java集合框架
1.1 概述
- 一方面,面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用数组存储对象具有一些弊端,而Java集合就像容器一样,可以动态的把多个对象的引用放入到容器中。
- Java集合可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关联数组。
1.2 Java集合的分类
Java集合可以分为Collection和Map体系。
- Collection接口:单列数据,定义了存取一组对象的方法的集合。其中,List是元素有序、可以重复的集合。Set是元素无序、不可重复的集合。
- Map接口:双列数组,保存具有映射关系的“key-value”键值对。
2. collection体系基本操作及类型
- 增加一个元素到集合中
//原型
boolean add(E e);
//示例
package day18;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionTest {
public static void main(String[] args) {
Collection<String> collection = new ArrayList<>();
collection.add("张三");
System.out.println(collection);
}
}
- 增加一组元素(集合元素)到集合中
boolean addAll(Collection<? extends E> c);
//示例
package day18;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionTest {
public static void main(String[] args) {
Collection<String> collection = new ArrayList<>();
Collection<String> collection1 = new ArrayList<>();
collection1.add("张三");
collection1.add("李四");
collection.addAll(collection1);
System.out.println(collection);
}
}
- 获取集合中有效元素的个数
int size();
//示例
package day18;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionTest {
public static void main(String[] args) {
Collection<String> collection = new ArrayList<>();
collection.add("张三");
collection.add("李四");
System.out.println("集合中元素的个数:" + collection.size());
}
}
- 判断元素是否是空集合(元素的个数为0)
boolean isEmpty();
- 判断集合是否包含某个指定元素:调用元素的equals()和hashCode()方法判断的。
boolean contains(Object o);
//示例
package day18;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionTest {
public static void main(String[] args) {
Collection<String> collection = new ArrayList<>();
collection.add("张三");
collection.add("李四");
System.out.println("判断是否包含某个元素:" + collection.contains("张三"));//true
}
}
- 判断集合中是否包含另一个集合中的所有元素:调用元素的equals()和hashCode()方法来判断的。此方法会拿集合中的元素依次比较
boolean containsAll(Collection<?> c);
- 清空集合中的所有元素
void clear();
- 从集合中删除某个元素:会调用元素的equals()方法和hashCode()方法。
boolean remove(Object o);
package day18;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionTest {
public static void main(String[] args) {
Collection<String> collection = new ArrayList<>();
collection.