zoukankan      html  css  js  c++  java
  • 容器

    容器API在java.util包内。

    Connection:Connection接口定义了存取一组对象的方法,子接口Set和List:

      ----Set:无序且不可以重复----HashSet类

      ----List:有序但可以重复----LinkedList/ArrayList类

    Map:键值对----HashMap/TreeMap类

    容器类对象在调用remove、contains()等方法时,需要比较对象是否相等,这会涉及对象类型的equals()方法和hasCode()方法,对自定义类型,需要重写这两个方法。

      注意:相等的对象应具有相等的hash codes。对象当做map的索引/键的时候,使用hasCode()。

    注意:容器内只能添加对象,不能是基本数据类型,因为基本数据类型一般存在栈里,栈里的内容随时可能被清空,print容器即调用容器和内部元素的toString()。

    Iterator:

      所有实现了Connecttion接口的容器类都有一个iterator方法用以返回一个实现了Iterator接口的对象。

      Iterator对象称作迭代器,用以方便的实现对容器内容元素的遍历操作。(因为不同容器,遍历方法是不同的)

      iterator接口有如下方法:hasNext(),next(),remove()。

    List:

      List接口是Connection的子接口,实现List接口的容器类中的元素是有顺序且可以重复。

      List容器中的元素都对应一个整数型的序号记载其在容器的位置,可以根据序号存取容器元素。

      List容器类有ArrayList,LinkedList等。

      set方法返回被替换的元素对象。

      java.util.Connections类(不是Connection接口)提供了一些静态方法实现了基于List容器的一些算法:

        sort()低到高排序,shuffle()随机排序,reverse()位置逆序排序,fill()用一个对象重写整个List容器,copy()复制,binarySerach()对于顺序List容器,用折半查找对象

    所有可以排序的类都实现了java.lang.Comparable接口,Comparable接口中只有一个方法:

      public int compareTo(Object obj)

    Array读快改慢,Linked改快读慢,Hash两者之间

    Map:

      实现Map接口的类用来存储键值对。

      Map接口的实现类有HashMap和TreeMap等。

      Map类中存储的键值对通过键来标识,所以键值不能重复。

      Map比较用hashCode来比较。

      Map键值都必须为对象,所以基本类型要进行包装。但在java5后支持自动打包解包,Auto-boxing/unboxing,自动将基础类型转换为对象,自动将对象装换为基础类型。自动解包得进行强制类型装换。

  • 相关阅读:
    关于word开发中字体大小
    WPF学习笔记
    C#各种配置文件使用,操作方法总结
    web.config和app.config使用
    微软 WordXML格式初步分析
    面向对象—C#高级编程(第10版)学习笔记8
    C#编程的推荐规则和约定—C#高级编程(第10版)学习笔记7
    C#基础—C#高级编程(第10版)学习笔记6
    .Net 应用程序体系结构—C#高级编程(第10版)学习笔记5
    通俗易懂说编程:.Net Core是什么、有何用?
  • 原文地址:https://www.cnblogs.com/zawjdbb/p/6233895.html
Copyright © 2011-2022 走看看