zoukankan      html  css  js  c++  java
  • AJPFX总结Collection集合(下)

    List集合特有方法
    特有方法。凡是可以操作角标的方法都是该体系特有的方法。
             add(index,element);在指定位置添加元素
             addAll(index,Collection);
             remove(index);         删除指定位置的元素
             set(index,element);          修改元素
             get(index):        通过角标获取元素
             subList(from,to);
             listIterator();   特有迭代器,可对集合进行操作
             intindexOf(obj):       获取指定元素的位置。
             ListIteratorlistIterator();
     
    List集合特有的迭代器。ListIteratorIterator的子接口。
     
    在迭代时,不可以通过集合对象的方法操作集合中的元素。
    因为会发生ConcurrentModificationException异常。
    所以,在迭代器时,只能用迭代器的方法操作元素,可是Iterator方法是有限的,
    只能对元素进行判断,取出,删除的操作,
    如果想要其他的操作如添加,修改等,就需要使用其子接口,ListIterator
     
    该接口只能通过List集合的listIterator方法获取。
    Vector
    特有的取出方式:枚举(io中有用到)与迭代器一样。
    Enumeration<E> elements()
             返回此向量的组件的枚举。
    Enumeration en = v.elements();
                       while(en.hasMoreElements())
                       {
                                System.out.println(en.nextElement());
                       }
    LinkedList:特有方法
    void addFirst();         addLast();
    添加元素
    getFirst();                   getLast();
    获取元素,但不删除元素。如果集合中没有元素,会出现NoSuchElementException
    removeFirst(); removeLast();
    获取元素,但是元素被删除。如果集合中没有元素,会出现NoSuchElementException
     
    JDK1.6出现了替代方法。
    boolean offerFirst();         offerLast();
    添加元素
    peekFirst();       peekLast();
    获取元素,但不删除元素。如果集合中没有元素,会返回null
    pollFirst();         pollLast();
    获取元素,但是元素被删除。如果集合中没有元素,会返回null
    堆栈数据结构 :先进后出,FirstIn Last Out -- FILO如同杯子。
    队列数据结构 :先进先出,FirstIn First Out -- FIFO如同水管。
    List集合
    判断元素是否相同,依据是元素的equals方法。
    contains()remove()方法底层调用的是equals
    Set集合
    Set集合的功能与Collection是一致的。
    HashSet集合
    如何保证元素唯一性的呢?
    是通过元素的两个方法,hashCode和equals来完成。如果元素的HashCode值相同,才会判断equals是否为true;如果元素的hashcode值不同,不会调用equals。
     
    注意,对于HashSet集合判断元素是否存在,以及删除等操作,依赖的方法是元素的hashcodeequals方法。
    TreeSet集合
    保证元素唯一性的依据:compareTo方法return 0.
    compareTo方法return 正数,元素向后放;compareTo方法return 负数,元素向前放。
    用该方法直接return正数或负数,来完成集合元素的正序或逆序。
     
    TreeSet排序的第一种方式:
    让元素自身具备比较性。元素需要实现Comparable接口,覆盖compareTo方法。也种方式也成为元素的自然顺序,或者叫做默认顺序。
     
    TreeSet排序的第二种方式:。
    当元素自身不具备比较性时,或者具备的比较性不是所需要的。这时就需要让集合自身具备比较性。在集合初始化时,就有了比较方式(传入比较器)。
    当两种方式都存在时,以比较器为主。
    如何定义比较器?
             定义一个类,实现Comparator接口,覆盖compare方法
  • 相关阅读:
    IE安全级别没法定制
    将应用部署到Websphere的context root根/
    SqlServer插入慢的问题解决
    SqlServer中用@@IDENTITY取最新ID不准的问题
    分享我的戒烟经验
    Telnet发邮件过程
    .net垃圾回收和CLR 4.0对垃圾回收所做的改进之三
    Please pay more attention to the character set of your database
    翻旧贴: 什么是对象?
    C# Code in ASPX Page
  • 原文地址:https://www.cnblogs.com/AJPFX/p/10887718.html
Copyright © 2011-2022 走看看