【JAVA之容器】2.Collection

来源:互联网 发布:淘宝宝贝被别人复制了 编辑:程序博客网 时间:2024/06/07 17:07

一、 Collection常用方法

这里写图片描述

public class Text {    public static void main(String[] args) {        base_methhod1();            }    public static void base_methhod1() {            //1.创建一个集合容器,使用Collection接口的子类ArrayList        Collection a = new ArrayList();//集合中存储的都是对象的地址(引用)              //2.添加元素,可以放入不同类型的对象(不能是基本数据类型,它不是对象,可以装基本数据类型包装类)        a.add("1");        a.add("2");        //获取个数(集合长度)        System.out.println(a.size());        //3.删除元素        a.remove("1");          //4.清空集合        a.clear();        //5.判断元素        System.out.println("1是否存在于a中:" + a.contains("1"));        System.out.println("集合是否为空:" + a.isEmpty());            }public static void base_method2() {             Collection a1 = new ArrayList();        a1.add("1");        a1.add("2");            a1.add("5");        a1.add("6");        Collection a2 = new ArrayList();        a2.add("1");        a2.add("2");        a2.add("3");        a2.add("4");        a1.retainAll(a2);//a1,a2取交集存在a1中。        a1.removeAll(a2);//如果a1中存在a2的元素,从a1中移除a2中的元素。        a1.addAll(a2);//将a2中的所有元素添加到a1中        System.out.println(a1.containsAll(a2));//判断a1中是否包含a2中的全部元素    }}
  • 容器类对象在调用remove,contains等方法时需要比较两个对象是不是相等,这会涉及到equals和hashCode方法。
  • 所以对于自定义的类型,需要重写equals和hashCode方法以实现自定义对象相等的原则。

二、Iterator接口

  • 所有实现了Collection接口的容器类都有一个iterator方法返回一个实现了Iterator接口的对象。
  • Iterator对象称为迭代器:用以方便的实现对集合中元素的遍历操作。
  • Iterator方法:
    这里写图片描述
public class Text {    public static void main(String[] args) {        base_methhod3();            }    public static void base_method3() {        //遍历元素        Collection a1 = new ArrayList();        a1.add("1");        a1.add("2");            a1.add("5");        a1.add("6");        /*Iterator it =  a1.iterator();//多态        while(it.hasNext()) {//有元素返回true            System.out.println(it.next());//取出元素        }*/        for(Iterator it=a1.iterator(); it.hasNext();) {//节省了内存            System.out.println(it.next());        }    }}
  • for each

这里写图片描述

Collection a1 = new ArrayList();a1.add("1");a1.add("2");for(Object a : a1) {    sop(a);}
0 0
原创粉丝点击