zoukankan      html  css  js  c++  java
  • 关于java常用数据类型的理解

    1.ArrayList

    它是实现了List接口的动态数组,与java中数组比较,它的容量可以动态增长。新长度=原长度+原长度/2

    源码:pastingint newCapacity = oldCapacity + (oldCapacity >> 1);关于ArrayList的增删改查中,增加用add(e)比add(index,e)效率高,因为不需要移动其它元素位置。删除如果不是最后一个元素,一样会移动位置。因为底层是数组存储,所以查询是ArrayList的优势。三个特点:1采用数组结构2有序3非同步。

    2.LinkedList

    它的底层结构是双向列表,所以定义了一个内部类Node,本质上它就是这一堆节点的集合。查找通过node方法所以它不适合通过索引查找,但是在查找第一个和最后一个方面还可以。它因为结构是双向链表,所以可以当作队列和栈来用。offer进队poll出队,push压栈pop出栈。总结一下LinkedList性能,顺序访问效率高于随机访问,添加和删除节点尽量不要在中间,这样还是会随机访问。

    3.HashMap

     

    HashMap底层维护一个entry数组和entry链,一个entry链的所有entry对象hash(key)都相同。当要存入一个key-value的时候,是将其看成一个整体,hash这个key&上HashMap长度,算出存放位置,然后存放。取值的时候也是根据key算出位置然后取值。所以这个原理决定了HashMap的快速存取。

    4.treeMap(基于红黑树实现的一种数据结构)

    本文参照以下连接 

    https://www.cnblogs.com/heavenyes/tag/Programing%20Language/ 

    zhumiao
  • 相关阅读:
    写程序一定要养成良好习惯程序编码规范
    今天用GRID感觉它严重缺少灵活性
    REPEATER 嵌套
    DATAGRID的困惑。。。
    VB常用函数。。。。
    子父表,就是这么简单。。。。。
    今天解决了DataGrid无刷新全选删除问题。
    看来我还没完全懂DATAGRID。。。
    indexOf 和 lastIndexOf 使用
    javascript 要注意的事项
  • 原文地址:https://www.cnblogs.com/zhumiao/p/9473201.html
Copyright © 2011-2022 走看看