本帖最后由 璐璐 于 2019-9-26 15:22 编辑
测试做到一定程度,一定要懂得一些开发知识,这是一个不争的事实。从今天起,先给大家进行一系列开发知识的基础内容,都是原创,等到基础学完,会直接给大家开始更新自动化相关文章。先从JAVA的类库开始说起。 【1】定义:Collection是整个类集中单值保存的最大父接口。即:每一次可以向集合里面保存一个对象。 【2】Collection接口里面定义有如下的几个常用操作方法。 public boolean add(E e)--向集合里面保存数据 public boolean addAll(Collection<? extends E> c)--追加一个集合 public void clear()----清空集合,即根元素为null public boolean contains(Object o)--判断是否包含指定的内容,需要equals()支持 public boolean isEmpty()-----------判断是否是空集合(不是null) public boolean remove(Object o)----删除对象,需要equals()支持 public int size()------------------取得集合中保存元素的个数 public Object[] toArray()-----将集合变为对象数组保存。 public Iterator<E> iterator()--为Iterator接口实例化 注意:在所有的开发中add()与iterator()方法的使用几率(99%)是最高的,其他方法几乎可以忽略。但是千万要记住contains()与remove()两个方法一定要依靠equals()支持。 一般来说,我们掌握了一个接口的方法,然后就应该使用在子类为这个接口实例化并且使用,但是由于现在开发要去的严格性,所以不会在直接使用Collection接口,只会使用其子接口List和Set。 下面我们就开始学习其两个子类接口: 一、List接口 目标:学习List子接口,我们做两件事情: 1、使用List子接口验证Colection接口中所提供的操作方法。 2、掌握List子接口的操作特点以及常用子类(Arraylist、Vector)。 请明确:List子接口是Collection中最为常用的子接口,使用率可达80%。同时这个接口对Collection接口进行了一些功能的扩充。在List子接口里重点掌握以下方法使用: public E get(int index)--取得指定索引编号的内容,索引编号从0开始; public E set(int index,E element)--修改指定索引编号的内容。 public ListIterator<E> listIterator(int index)--为ListIterator接口进行实例化。 上述的三个方法中以get()方法最为重要。此时加上Collection本身的add()、iterator()方法,这三个方法一定要掌握。 而List本身是属于接口,所以如果要使用此接口进行操作,那么必须存在子类,可以使用Arraylist子类实现操作。(当然还有另外一个Vector子类,但是90%情况下采用ArrayList)。 3、新的子类:ArrayList 既然ArrayList类是List接口最为常用的一个子类,下面将利用此类来验证所学习到的操作。 【实例1】List基本操作 - package com.list.demo;
- import java.util.ArrayList;
- import java.util.List;
- //实例1:List基本操作
- public class ListDemo01 {
- public static void main(String[] args) {
- List<String> all = new ArrayList<String>();//设置泛型,目的是:保证集合中所有元素类型的一致性
- System.out.println("集合长度:"+all.size()+"集合是否为空:"+all.isEmpty());
- all.add("hello");
- all.add("hello");//重复元素
- all.add("world");
- System.out.println("集合长度:"+all.size()+"集合是否为空:"+all.isEmpty());
- //Collection接口定义了size()方法可以取得集合长度。
- //List子接口扩充了一个get()方法,可以根据索引得到数据。
- for (int i = 0; i < all.size(); i++) {
- String str = all.get(i);
- System.out.println(str);
- }
- }
- }
复制代码
通过上述实例可以得出结论:List集合之中所保存的数据是按照保存的顺序进行存放的,而且允许存在有重复数据。但是一定要记住的是,List子接口扩充有get()方法。 【示例2】为Collection接口实例化 因为ArrayList是List接口的子类,而List又是Collection子接口,自然可以通过ArrayList为Collection进行实例化。 - package com.list.demo;
- import java.util.ArrayList;
- import java.util.Collection;
- //通过Collection接口进行实例化
- public class CollectionDemo01 {
- public static void main(String[] args) {
- Collection<String> co = new ArrayList<String>();
- System.out.println("集合长度:"+co.size()+"集合是否为空:"+co.isEmpty());
- co.add("hello");
- co.add("hello");//重复插入元素
- co.add("world");
- //由于Collection接口是没有get方法的,所以我们此时想要输出集合中的元素,只能借用对象数组。
- Object obj[] = co.toArray();
- for (int i = 0; i < obj.length; i++) {
- System.out.println(obj[i]);
- }
- }
- }
复制代码
-----上述代码爱会不会没啥用 但是请记住:上面这种实现集合输出的方式永远都不会用到,没必要纠结。我们可以看出Collection接口与List接口相比,功能会显得有所不足。而且以上所使用的输出方式并不是集合所会使用到的标准输出结构,只是做一个基础的展示。
|