Collection集合

一、Collection集合之间的关系图

 

二、Collection集合常用的功能

java.util.Collection接口
所有单列集合的顶层的接口,定义了所有单列集合的共性的方法
任意的单列集合都可以使用Collection接口中的方法
共性的方法:
public boolean add(E e):把给定的对象添加到当前的集合中
public void clear():清空集合中的所有元素
public boolean remove(E e):把给定的对象在当前集合中删除
public boolean contains(E e):判断当前集合是否包含给定的对象
public boolean isEmpty():判断当前集合是否为空
public int size():返回集合中元素的个数
public object[] toArray():把集合中的元素存储到数组中

import java.util.ArrayList;
import java.util.Collection;
public class Demo01Collection {
    public static void main(String[] args) {
        //创建集合对象,可以使用多态
        Collection<String> coll = new ArrayList<String>();
        System.out.println(coll);   //重写了toString方法
        /*
        (1)public boolean add(E e):把给定的对象添加到当前的集合中
            注意:返回值是一个boolean值,一般都返回true,所以可以不用接收值
         */
        coll.add("张三");
        coll.add("李四");
        coll.add("王五");
        coll.add("赵六");
        coll.add("田七");
        System.out.println("(1)添加元素:"+coll);    //[张三, 李四, 王五, 赵六, 田七]
        /*
        (2)public boolean remove(E e):把给定的对象在当前集合中删除
        注意:如果删除元素在集合中,则返回true;
              如果删除的元素不在集合中,则返回false.
         */
        boolean b1 = coll.remove("田七");
        boolean b2 = coll.remove("赵四");
        System.out.println("(2.1)删除元素:"+b1);    //true
        System.out.println("(2.2)删除元素:"+b2);    //false
        /*
        (3) public boolean contains(E e):判断当前集合是否包含给定的对象
        注意:如果包含给定的对象,则返回true
              如果不包含给定的对象,则返回false
         */
        boolean b3 = coll.contains("张三");
        boolean b4 = coll.contains("赵四");
        System.out.println("(3.1)包含给定的对象:"+b3);  //true
        System.out.println("(3.2)包含给定的对象:"+b4);  //false
        /*
        (4)public boolean isEmpty():判断当前集合是否为空
        注意:如果当前集合为空,则返回true
              如果当前集合为不空,则返回false
         */
        boolean b5 = coll.isEmpty();
        System.out.println("(4)是否为空:"+b5);      //false
        /*
         (5)public int size():返回集合中元素的个数
         */
        System.out.println("(5)集合中元素的个数:"+coll.size()); //4
        /*
        (6)public object[] toArray():把集合中的元素存储到数组中
         */
        Object[] objects = coll.toArray();
        System.out.print("(6)把集合中的元素存储到数组中:");
        for (int i = 0; i < objects.length; i++) {
            System.out.print(objects[i]+" ");
        }
        System.out.println();
        /*
        (7) public void clear():清空集合中的所有元素
        注意:只是清空集合中的元素,集合仍然存在
         */
        coll.clear();
        System.out.println("(7)清空集合:"+coll);
    }
}

三、Iterator迭代器

作用:获取集合中的元素,对集合进行遍历

java.util.Iterator接口:迭代器(对集合进行遍历)
有两个常用的方法:
boolean hasNext():判断集合中是否有下一个元素,如果有则返回true,没有则返回false
E next():返回迭代的下一个元素
Iterator迭代器,是一个接口,无法直接使用,需要使用Iterator接口的实现类对象
Collection有一个方法iterator(),该方法返回的是迭代器的实现类对象
Iterator<E> iterator:返回此collection的元素上进行的迭代器
迭代器的使用步骤:
1.使用集合中的方法iterator()获取迭代器中实现类对象,使用Iterator接口来接收
  注意:Iterator<>中的泛型与Collection<>的泛型需要保持一致性
2.使用Iterator中的方法hasNext()判断是否有下一个元素
3.使用Iterator中的方法next()取出集合中的下一个元素

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public
class Demo01Iterator { public static void main(String[] args) { //创建集合对象,并向集合中添加元素 Collection<String> coll = new ArrayList<String>(); coll.add("张三"); coll.add("李四"); coll.add("王五"); coll.add("赵六"); coll.add("田七"); //获取迭代器 Iterator<String> it = coll.iterator(); //判断是否有下一个元素 System.out.print("遍历集合中的元素:"); while (it.hasNext()){ String next = it.next(); System.out.print(next+" "); } } }

四、使用增强for循环

原理:底层结构是Iterator迭代器,可以简化Iterator迭代器
格式:for(数组/集合 变量名:数组名/集合名){}
注意:增强for循环只能对集合或数组进行遍历

import java.util.ArrayList;
import java.util.Collection;

public
class Demo02Foreach { public static void main(String[] args) { demo01(); demo02(); } //使用增强for循环遍历集合 private static void demo02() { Collection<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); list.add(4); for (int i : list){ System.out.println(i); } } //使用增强for遍历数组 private static void demo01() { int[] arr = {1,2,3,4,5}; for (int a : arr){ System.out.println(a); } } }

 

posted @ 2019-10-02 18:25  红尘年少  阅读(174)  评论(0编辑  收藏  举报