zoukankan      html  css  js  c++  java
  • 22、集合(Collection)

    一、集合(Collection)

    1、简介

      Collection是一个接口,其定义了集合的相关功能方法。Collection继承了Iterable接口,而Iterable接口有一个方法Iterator<T> iterator(); 其中Iterator也是一个接口,里面定义了3个方法boolean hasNext();E next(); void remove();

    2、Collection派生接口List和Set

      List:可重复集,顾名思义,该集合中是允许存放重复元素的,那么何为重复元素?重复元素指的并非是同一个元素,而是指equals方法比较为true的元素。

      Set:不可重复集合。

    3、集合持有对象的引用

    4、Collection常用方法

      ①:boolean add(E e) 该方法会将给定的元素添加进集合,若添加成功则返回true,否则返回false

      ②:boolean contains(Object o)该方法会用于判断给定的元素是否被包含在集合中。若包含则返回true,否则返回false。这里需要注意的是,集合在判断元素是否被包含在集合中是使用元素的equals的比较结果。

      ③:int size()返回集合元素的个数

      ④:void clear() 清空集合中的元素

      ⑤:boolean isEmpty() 判断集合是否为空集合

      ⑥:boolean containsAll(Collection<?> c) 判断当前集合是否包含给定集合中的所有元素,若包含则返回true。

      ⑦:boolean addAll(Collection<? extends E> c) 添加集合中所有元素

      ⑧:Object[] toArray():将Collection元素保存到数组中

    5、Iterator迭代器

      ①:通过迭代器遍历集合

       通过方法Iterator iterator()返回一个迭代器接口,在通过Iterator接口的hasNext和Next方法来遍历集合

         例如:

    Collection c =new ArrayList();
    c.add("one");
    c.add("two");
    c.add("three");
    c.add("four");
    c.add("five");
    Iterator iterator= c.iterator();
        while(iterator.hasNext()){
        System.out.println(iterator.next());
    }
    View Code

         遍历集合应遵循“先问后取”

         ②:通过迭代器删除某个元素

    Collection c =new ArrayList();
    c.add("one");
    c.add("two");
    c.add("three");
    c.add("four");
    c.add("five");
    Iterator iterator= c.iterator();
    while(iterator.hasNext()){
        Object obj=iterator.next();
        if(obj.toString().equals("three")){
            iterator.remove();
        }
    }
    System.out.println(Arrays.toString(c.toArray()));
    
    结果为:[one, two, four, five]
    View Code

        需要注意,在使用迭代器遍历集合时是不能通过集合自身提供的remove方法删除元素的,否则迭代器在迭代时会抛出异常

         ③:通过for循环遍历集合

    for(Object o:c){
        System.out.println(o);
    }
    View Code
  • 相关阅读:
    C#设计模式总结
    【23】备忘录模式(Memento Pattern)
    【22】访问者模式(Visitor Pattern)
    mycat 分库
    mysql的存储过程
    mysql的视图
    mysql的索引
    mysql权限操作
    mysql事务操作
    mysql常用函数
  • 原文地址:https://www.cnblogs.com/caoyc/p/4546995.html
Copyright © 2011-2022 走看看