zoukankan      html  css  js  c++  java
  • java数组与集合

    不论是基本数据类型,还是引用数据类型的数据,都可以使用集合的形式对它们进行操作。

    数组:

    数组在java中是一个特殊类,

    java中的基本数据类型包括:byte,char,short,int,long,float,double,boolean 8中,其他的都是引用数据类型。

    数组创建的时候必须指定一个长度

    数组的复制,不能用 = 来直接,因为这样的两个数组指向同一个内存空间,修改一个会对另一个产生影响。可以使用java中的System.arraycopy()来复制,也可以自己用方法遍历。

    集合:

    集合是用来存储其他对象的对象,大致组成如图所示:

    列表(list):有序存放,允许重复,可以存放不同类型的对象        ArrayList,LinkedList

    集合(set):无序存放,不允许重复,可存放不同类型的对象,    HashSet,LinkedSet      

    SortedSet:排好序列的Set                                                             TreeSet(有序)

    映射(Map):俗称键值对,如手机中的电话本                              HashMap

    SortedMap:排好序列的Map                                                          TreeMap(有序)

    Array在访问(查看)数据库时效率高,而在插入或者删除的时候效率低。

    Linked在访问(查看)数据库时效率低,而在插入或者删除的时候效率高。

    ArrayList在整体上效率高与LinkedList,因此大部分情况下都会选择ArrayList,除非很多时候需要进行插入和删除数据。

    Vector是线程安全的,当遇到多线程时,也可以使用ArrayList,是用过Java提供的Collections类来转换成线程安全的类。

    1.Linked的实现:

        底层使用双向链表来存储,

        每个节点都包含了对前一个和后一个元素的引用,

    2.Hash的实现:

         使用数组来存储

         依赖hash算法来存储,我们知道每个对象都有它的hash值;

         HashSet底层是使用HashMap来存储的,在存储时按key-value来存储,只不过把值存在key中,而value则全部为null;

    3.Tree的实现:

  • 相关阅读:
    里氏代换原则
    依赖倒转原则
    开放-封闭原则
    如何判断对象是否死亡和类是无用的类
    Java内存区域
    Zookeeper使用场景
    zookeeper知识点总结
    前端小技术总结
    lambda表达式的使用
    Comparator进行List集合排序
  • 原文地址:https://www.cnblogs.com/ycmxm/p/7119830.html
Copyright © 2011-2022 走看看