带着游戏账号流浪

第8章 逃难8(1/1)

天才一秒记住【迦南小说网】地址:https://m.jnweishang.com

首发:~第8章 逃难8

2000字打个卡,今天又排位了。

list—是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式,它继承collection。 list有两个重要的实现类:arraylist和linkedlist

arraylist: 可以看作是能够自动增长容量的数组arraylist的toarray方法返回一个数组arraylist的aslist方法返回一个列表

arraylist底层的实现是array, 数组扩容实现

linklist是一个双链表,在添加和删除元素时具有比arraylist更好的性能但在get与set方面弱于arraylist当然,这些对比都是指数据量很大或者操作很频繁。

12、 hashmap和hashtable的区别

1、两者父类不同

hashmap是继承自abstractmap类,而hashtable是继承自dictionary类。不过它们都实现了同时实现了map、cloneable(可复制)、serializable(可序列化)这三个接口。

2、对外提供的接口不同

hashtable比hashmap多提供了elments() 和contains() 两个方法。

elments() 方法继承自hashtable的父类dictionnary。elements() 方法用于返回此hashtable中的

value的枚举。

contains()方法判断该hashtable是否包含传入的value。它的作用与containsvalue()一致。事实上, contansvalue() 就只是调用了一下contains() 方法。

3、对null的支持不同

hashtable:key和value都不能为null。

hashmap:key可以为null,但是这样的key只能有一个,因为必须保证key的唯一性;可以有多个key

值对应的value为null。

4、安全性不同

hashmap是线程不安全的,在多线程并发的环境下,可能会产生死锁等问题,因此需要开发人员自己 处理多线程的安全问题。

hashtable是线程安全的,它的每个方法上都有synchronized 关键字,因此可直接用于多线程中。

虽然hashmap是线程不安全的,但是它的效率远远高于hashtable,这样设计是合理的,因为大部分的 使用场景都是单线程。当需要多线程操作的时候可以使用线程安全的concurrenthashmap。

concurrenthashmap虽然也是线程安全的,但是它的效率比hashtable要高好多倍。因为concurrenthashmap使用了分段锁,并不对整个数据进行锁定。

5、初始容量大小和每次扩充容量大小不1、 java语言有哪些特点

1、简单易学、有丰富的类库

2、面向对象(java最重要的特性,让程序耦合度更低,内聚性更高)

3、与平台无关性(jvm是java跨平台使用的根本)

4、可靠安全

5、支持多线程

2、面向对象和面向过程的区别

面向过程:是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后在使用的时候一一调 用则可。性能较高,所以单片机、嵌入式开发等一般采用面向过程开发

面向对象:是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是 为了描述某个事物在解决整个问题的过程中所发生的行为。面向对象有封装、继承、多态的特性,所以 易维护、易复用、易扩展。可以设计出低耦合的系统。 但是性能上来说,比面重载 总结:

重载overload是一个类中多态性的一种表现

重载要求同名方法的参数列表不同(参数类型,参数个数甚至是参数顺序)

重载的时候,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准

8、 equals与==的区别

== :

== 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。

1、比较的是操作符两端的操作数是否是同一个对象。

2、两边的操作数必须是同一类型的(可以是父子类之间)才能编译通过。

3、比较的是地址,如果是具体的阿拉伯数字的比较,值相等则为true,如:

int a=10 与 long b=10l 与 double c=100都是相同的(为true),因为他们都指向地址为10的堆。

equals:

equals用来比较的是两个对象的内容是否相等,由于所有的类都是继承自javalangobject类的,所以 适用于所有对象,如果没有对该方法进行覆盖的话,调用的仍然是object类中的方法,而object中的equals方法返回的却是==的判断。

总结:

所有比较是否相等时,都是用equals 并且在对常量相比较时,把常量写在前面,因为使用object的

equals object可能为null 则空指针

在阿里的代码规范中只使用equals ,阿里插件默认会识别,并可以快速修改,推荐安装阿里插件来排查老代码使用“==”,替换成equals

9、 hashcode的作用

java的集合有两类,一类是list,还有一类是set。前者有序可重复,后者无序不重复。当我们在set中 插入的时候怎么判断是否已经存在该元素呢,可以通过equals方法。但是如果元素太多,用这样的方法 就会比较满。

于是有人发明了哈希算法来提高集合中查找元素的效率。 这种方式将集合分成若干个存储区域,每个对象可以计算出一个哈希码,可以将哈希码分组,每组分别对应某个存储区域,根据一个对象的哈希码就 可以确定该对象应该存储的那个区域。

hashcode方法可以这样理解:它返回的就是根据对象的内存地址换算出的一个值。这样一来,当集合 要添加新的元素时,先调用这个元素的hashcode方法,就一下子能定位到它应该放置的物理位置上。 如果这个位置上没有元素,它就可以直接存储在这个位置上,不用再进行任何比较了;如果这个位置上 已经有元素了,就调用它的equals方法与新元素进行比较,相同的话就不存了,不相同就散列其它的地 址。这样一来实际调用equals方法的次数就大大降低了,几乎只需要一两次。

10、string、string stringbuer 和 stringbuilder 的区别是什么

string是只读字符串,它并不是基本数据类型,而是一个对象。从底层源码来看是一个nal类型的字符 数组,所引用的字符串不能被改变,一经定义,无法再增删改。每次对string的操作都会生成新的string对象。向过程要低。同

6、计算hash值的方法不同

墨陌之提示您:看后求收藏(迦南小说网https://m.jnweishang.com),接着再看更方便。

人气小说推荐More+

我在异界种田封神
我在异界种田封神
亲眼目睹了魔法女神午夜陨落,奥法之劫造成的恐怖冲击。失去一切的传奇战士盖文,在月亮女神苏伦的秘密支持下,尝试穿越回过去。结果穿越变重生。盖文不仅拥有了重塑世界的机会,同时拥有了重塑自己职业的机会。为了爱人,为了所爱的世界。盖文将赌上性命,组织一系列灾难的爆发。这一世,他将是科米尔的岩地男爵,狗头人之王。科索曼的戴冠者。扎兰达女王的幕后男人。大冰川的霜巨人之王。他的狗头人建筑队伍,将会遍地开花,引
永夜骑士
说了子债母偿,你偏不信怪我咯?
说了子债母偿,你偏不信怪我咯?
【无敌+爽文+老六】 王小东意外重生,并觉醒了鸿蒙圣体,成为不朽道统王家的少主。 连被誉为横压一世的君家混沌体,知道消息后都如临大敌! 但很快世人惊愕发现画风有点不对劲? 气运苟圣:“我把你当兄弟,你居然偷家?” 君家混沌体:“有种放了我娘,我们公平一战!” 某长生仙宗圣子:“老祖您都几千岁了,现在要嫁给王家少主当妾?” 某不朽道统传人:“什么?太祖奶奶要改嫁王少?” 王家众人:“不会吧?帝祖她
卤肉饭不放卤肉
人在迪迦我黑了
人在迪迦我黑了
大古队员,维护世界和平的重任就靠你了!毕竟你既是光又是人类。 大古队员:可是,教官,你不也是光嘛! 东方:大古队员你也不想丽娜队员……
谷雨百生
大千世界:从柳域开始崛起
大千世界:从柳域开始崛起
从北灵境柳域开始,一步步打怪升级走上全能之路……
知远行
鸿鹄凌云志
鸿鹄凌云志
他好歹是个名校的高材生,在仕途一片大好时被新老板打入冷宫,又不小心撞破了老板的奸情。 前途一片黑暗…… 人生最关键的也就那几步而已,机会在眼前,一定要找准时机,稳准狠! 于是,他果断出手,成功抓住了那转瞬而逝的机会,自此开启人生翻盘……
佚名