为了在程序中可以保存数目不确定的对象或数据,
Java提供了一系列特殊的类,这些类可以存储任意类型的对象,
并且长度可变,这些类被统称为集合。集合类都位于java.util包中,
使用时必须导包。
集合按照其存储结构可以分为两大类,
单列集合Collection(一次可添加一个数据)和
双列集合Map(一次可添加2个数据,或一对数据),
这两种集合的特点具体如下:
● Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,
它有两个重要的子接口,分别是List和Set。
其中,List的特点是元素有序、元素可重复(有索引)。
Set的特点是元素无序,而且不可重复。(无索引)
List接口的主要实现类有ArrayList和LinkedList,
Set接口的主要实现类有HashSet和TreeSet。
● Map:双列集合类的根接口,用于存储具有键(Key)、值(Value)映射关系的元素,
每个元素都包含一对键值,其中键值不可重复并且每个键最多只能映射到一个值,
在使用Map集合时可以通过指定的Key找到对应的Value。
例如,根据一个学生的学号就可以找到对应的学生。
Map接口的主要实现类有HashMap和TreeMap。
Collection是所有单列集合的父接口,
它定义了单列集合(List和Set)通用的一些方法,
这些方法可用于操作所有的单列集合。Collection接口的常用如下:
"Collection接口通用方法:"
boolean add(E e)添加元素
boolean addAll(Collection c)将指定集合中所有元素添加到当前集合
void clear()清空集合元素
boolean remove(Object o)删除指定的元素
boolean remove All(Collection c)将指定集合中所有元素从当前集合中删除
boolean isEmpty()判断集合是否为空
boolean contains(Object o)判断集合是否包含指定的元素
boolean contains All(Collection c)判断集合中是否包含指定集合所有元素
int size()获取集合的长度
package sk;
import java.util.ArrayList;
import java.util.Collection;
public class baozhuang {
public static void main(String[] args){
//泛型:约束集合可以存储数据的类型
Collection<String> c1=new ArrayList<>(); 接口是不能直接创建对象的,所以创建实现类对象
//boolean add(E e)添加元素
c1.add("aa");
c1.add("bb");
c1.add("cc");
System.out.println(c1); /结果:[aa, bb, cc]
//boolean addAll(Collection c)将指定集合中所有元素添加到当前集合
Collection<String> c2=new ArrayList<>();
c2.add("dd");
c2.add("ee");
c1.addAll(c2);
System.out.println(c1); /结果是:[aa, bb, cc, dd, ee]
//void clear()清空集合元素
c1.clear();
System.out.print(c1);
//boolean remove(Object o)删除指定的元素
System.out.println(c1.remove("aa"));//打印结果为true,删除成功
System.out.println(c1);//结果:[bb, cc, dd, ee]
System.out.println(c1.remove("aabc"));//打印结果为false,删除失败
System.out.println(c1);//结果是:[bb, cc, dd, ee]
//boolean removeAll(Collection c)将指定集合中所有元素从当前集合中删除
System.out.print(c1.removeAll(c2));//打印结果为true,删除成功
System.out.print(c1);
//boolean isEmpty()判断集合是否为空
System.out.println(c1.isEmpty());
c1.clear();
System.out.println(c1);
//boolean contains(Object o)判断集合是否包含指定的元素
System.out.println(c1.contains("bb"));
System.out.print(c1.contains("bbba"));
//boolean contains All(Collection c)判断集合中是否包含指定集合所有元素
System.out.println(c1.containsAll(c2));
// int size()获取集合的长度
System.out.println(c1.size());
}
}
java Collection 所有单列集合的父接口
于 2023-05-15 11:50:57 首次发布