zoukankan      html  css  js  c++  java
  • Java学习笔记之容器类

         在Java的诸多类中,容器类是一个使用频率极高的类,尤其是其中的ArrayList类和HashMap类。Collection类有包括List,Map还有Set,各自持有自己的特性,他们之间有一点共性就是,由于Collection是Iterable接口的子接口,所以他们之间都有迭代器,使用的方法相同,先由Collection类的对象通过iterator()方法产生一个迭代器,来遍历集合对象中的所有数据。

         此外,从J2SE 1.5开始,集合对象用泛型进行了改写,使用<>来标注集合对象中存储的对象的类型,避免了从集合中取出变量还要进行强制类型转化的繁琐。

    一、List(ArrayList和LinkedList)

         这两个在之前的笔记中已经写过了,这里就不赘述了

    二、Set(HashSet,TreeSet和EnumSet)

          List中的对象是允许重复的,但是Set中的对象都是唯一的,在定义类时,最好从新定义一下equals()和hashCode()方法,因为在比较两个HashSet容器中的对象是否相同的时候,先比较hashCode()然后再利用equals()方法,HashSet容器会对其中的对象进行排序,与被加入的顺序不同。如果使用的是HashSet的子类LinkedHashSet,就可以按照加入的顺序进行迭代。

         TreeSet使用红黑树的结构来对加入的对象进行排序。如果要对对象自定义排序的规则,就要定义一个实现Java.util.Comparator接口的对象,并且实现方法compare().

         EnumSet是针对枚举对象的数据集

    三、Map(HashMap,TreeMap,EnumMap)

          类比Set也有三类

  • 相关阅读:
    方法的封装与调用(十)
    适配器设计模式及GenericServlet(九)
    错误页设置,设置HTTP状态码404,500(八)
    设置默认首页(七)
    ServletContext接口(六)
    javax.servlet.ServletConfig接口(五)
    C语言第2天基本运算
    再议extern和include的作用
    C语言中的++和--
    C语言培训第一天
  • 原文地址:https://www.cnblogs.com/ITEagle/p/1680274.html
Copyright © 2011-2022 走看看