`
cjsmq
  • 浏览: 14566 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 unshift:将参数添加到原数组开头,并返回数组的长度 var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7 注:在IE6.0下测试返回值总为undefined,FF2.0下测试返回值为7,所以这个方法的返回值不可靠,需要用返回值时可用splice代替本方法来使用。 pop:删除原数组最后 ...
引用单例模式(singleton) :保证一个类仅有一个实例,并提供一个访问它的全局访问点。 引用单例模式主要有3个特点,: 1、单例类确保自己只有一个实例。 2、单例类必须自己创建自己的实例。 3、单例类必须为其他对象提供唯一的实例。   单例模式有两种创建模式 第一种:饿汉式 第二种:懒汉式   饿汉式:自己在被加载的时候就将自己实例化。   懒汉式:要在自己第一次被引用的时,才会将自己实例化。   我们推荐第二种方式,如下。 public class Singleton{ private static Singleton p = null; private ...
java StringBuffer StringBulider StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) String 类型和 StringBuffer 、StringBuilder 类型的主要性能区别其实在于 String 是不可变的对象,而后俩者都是可变的。 来看看 StringBuffer类源码定义: public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, Cha ...

java String

java String 源码 String 类底层是 char 类型数组实现的。 String 类API 文档描述如下: String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例来实现。 字符串是常量;它们的值在创建之后不能改变。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享它们。例如:     String str = "abc"; 等效于:     char data[] = {'a', 'b', 'c'}; ...
java set接口 HashSet HashSet底层是 HashMap实现的。其实HashSet中存放的值,就是HashMap中key值。 如果对HashMap实现不太明白可以参考上篇 java map hashmap博文。 public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable { static final long serialVersionUID = -502 ...
HashMap 是以key-value来存储的数据结构。 底层的实现是:entry类型的数组。将key-value封装成entry对象。对于这种数据结构我们也称之为 散列链表。 HashMap 定义源码如下: public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable { /** * The default initial capacity - MUST be a power ...
接上文 - java 集合类-ArrayList LinkedList的底层实现方法:双向链表。 LinkedList用静态内部类Entry来表示一个节点,定义一个 header节点。 Entry内部定义了 前驱节点和后驱节点 以及存储数据。 LinkedList 源码: public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Queue<E>, Cloneable, java.io.Serializable { ...
Java集合类 一 List接口 常用的实现类 ArrayList和 LinkedList。 1)ArrayList: 底层实现的方法时: 动态数组 。   ArrayList、LinkedList比较:   1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。   2.对于随机访问,ArrayList觉得优于LinkedList。LinkedList需要不断移动指针引用。   3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 先看 ArrayList 看源码: public clas ...
Global site tag (gtag.js) - Google Analytics