目录
3.Collection集合
3.1.什么是Collection,有什么功能?
Collection接口介绍:
- 1.Collection接口是单列集合类的根(父)接口,用于存储一系列符合某种规则的元素。他有两个重要子接口,分别是java.util.List和java.util.Set接口(简称list和set接口)。在Collection接口中定义着单列集合框架中最最共性的内容,定义了单列集合(list和set)通用的一些方法,这些方法可用于操作所有的单列集合。
- 2.List的特点:元素有序、元素可重复,可索引遍历。
- 3.Set 的特点:元素无序,元素不可重复,不可索引遍历。
- 4.List接口的主要实现类:ArrayList集合类、LinkedList集合类、Vector
- 5.Set接口的主要实现类:TreeSet集合类、HashSet集合类、LinkedHashSet集合类.
- 6.Collection集合是没有索引的,不能遍历,像这种没有索引的集合,官方提供了Iterator接口,来实现遍历,也是java集合的一员。或者通过toArray()方法把collection集合元素存入数组后遍历。
2.Collection中定义的常用方法有哪些?
Collection接口中定义的方法
1.public boolean add(E e): 添加指定对象到当前集合中。 2.public void clear(): 清空集合中所有的元素。 3.public boolean remove(E e): 删除集合中指定元素(对象) 4.public boolean contains(E e):判断集合中是否包含指定对象 5.public boolean isEmpty(): 判断当前集合是否为空 6.public int size(): 返回集合中元素个数 7.public Object[] toArray(): 把集合中元素存储到数组中
/** java.util.Collection接口: 所有单列集合的最顶层接口,里面定义了单列集合共性的方法。 任意单列集合都可以使用Collection接口中的方法。 */ public class collectionDemo1 { public static void main(String[] args) { //创建collection集合对象,可以使用多态创建(即接口指向实现类) //这里顶层接口的实现类是ArrayList,可以换成其它实现类比如 //HashSet,而以下方法不用变,是通用的,这就是学习顶层接口好处。 Collection<String>coll=new ArrayList<>(); //输出的是空集合[]而不是对象地址,说明重写了toString方法 System.out.println(coll); /** * public boolean add(E e):添加指定对象到集合中 * 返回值是一个boolean值,一般都是true,所以可以不接受(无意义) */ boolean b1 = coll.add("张三"); System.out.println("b1:"+b1);//b1:true System.out.println(coll);//输出[张三] coll.add("李四"); coll.add("赵六"); coll.add("王七"); System.out.println(coll);//输出[张三,李四,赵六,王七] /** * public boolean remove(E e):删除集合中指定的对象 * 返回是一个boolean值, * 若删除成功则返回true,删除失败返回false */ boolean b2 = coll.remove("赵六"); System.out.println(b2);//输出b2:true boolean b3 = coll.remove("王五"); System.out.println(b3);//输出b3:false System.out.println(coll);//输出[张三,李四,王七] /** * public boolean contains(E e):判断给定的对象是否在集合中 * 在则返回true,否则返回false */ boolean b4 = coll.contains("李四"); System.out.println("b4:"+b4);//输出true boolean b5 = coll.contains("赵四"); System.out.println(b5);//输出false /** * public boolean isEmpty():判断集合是否为空, * 空则返回true,否则返回false */ boolean b6 = coll.isEmpty(); System.out.println(b6);//b6:false /** * public int size():返回集合中元素个数 */ int size = coll.size(); System.out.println(size);//输出3 /** * public Object[] toArray():把集合中的元素(对象)存储到数组中 * 方法的类型是对象数组类型Object[] */ Object[] arr=coll.toArray(); for (Object o : arr) { //快捷键arr.for+enter System.out.println(o); } /** * public void clear():清空集合中所有的元素,但不删除集合,集合为空 */ coll.clear(); System.out.println(coll);//输出[] //Collection集合是没有索引的,不能遍历,像这种没有索引的集合 //官方提供了Iterator接口,也是java集合的一员,来实现遍历。 } }
- 类集中最大的几个操作接口:Collection、Map、Iterator,这三个接口为以后要使用的最重点的接口。
- Collection 接口是在整个 Java 类集中保存单值的最大操作父接口,里面每次操作的时候都只能保存一个对象的数据。 此接口定义在 java.util 包中。
- 此接口定义如下:
public interface Collection<E> extends Iterable<E>
- 此接口的常用方法如下所示
- 本接口中一共定义了 15 个方法,那么此接口的全部子类或子接口就将全部继承以上接口中的方法。
- 但是,在开发中不会直接使用 Collection 接口。而使用其操作的子接口:List、Set。为了更加清楚的区分,集合中是否允许有重复元素