zoukankan      html  css  js  c++  java
  • 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); } } }
  • 相关阅读:
    An Introduction to the Linuxbased Assignments
    [读书笔记]Binary Hancks(1)
    haneWIN NFS Server
    [读书笔记]Binary Hancks(2) livepatch在X86下的实践
    CTNG编译错误以及解决办法
    [转]ucLinux下sqlite数据库移植全攻略
    程序员该有的艺术气质—SOLID原则
    Httpclient远程调用WebService示例(Eclipse+httpclient)
    四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)
    全网首发:原创SQL数据库同步工具
  • 原文地址:https://www.cnblogs.com/my-program-life/p/11617957.html
Copyright © 2011-2022 走看看