java常用集合区别对待_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、java常用集合区别对待java常用集合区分对待list、map、set三个接口,存取元素特点:首先,list与set具有相像性,它们都是单列的集合,然后父接口为collection。set中不允许有重复的元素,set集合有一个boolean的返回值,当集合中没有某个元素,此时add办法可添加胜利;当集合含有与某个元素equals相等的元素时,此时add无法添加;set取元素时,无法说取第几个,只能以iterator接口取得全部的元素,再逐一遍历各个元素;list为有序集合,并且可以存放重复元素;list也可以用法iterator接口取得全部元素,再逐一遍历,还可以调用get(index i)

2、来明确解释取第几个;map是双列集合,需要存储一对key/value,不能存储重复的key,重复规章是按equals比较相等。取则可以按照key获得相应的value,即get(key)返回值为对应的value。通过keyset猎取全部key值,还可以通过map.entry获得key和value的组合;arraylist与linkedlist区分:arraylist采纳动态数组的形式保存对象,这种方式将对象放在延续的内存块中,所以插入和删除比较棘手,查询比较便利;linkedlist将对象放在自立的空间中,而且每个空间保存下一个空间的索引,也就是数据结构中的链表结构,插入和删除比较便利,但是查询

3、很棘手,要从第一个开头遍历;需要循环数组结构的集合数据时,建议用法一般for循环,由于for循环用法下标拜访,对于数组结构,采纳下标拜访最好;需要循环链表结构的集合时,用法增加foreach循环;假如用法一般for循环,数据量大时,可能导致系统崩溃;hashset与treeset之间的区分共同点:1、都不允许元素重复。2、都不是线程平安的类,解决方法:set set = collections.synchronizedset(set 对象)。不同点:1、hashset:不保证元素的添加挨次,底层采纳 哈希表算法,查询效率高。推断两个元素是否相等,equals() 办法返回 true,hashc

4、ode() 值相等。即要求存入 hashset 中的元素要笼罩 equals() 办法和 hashcode()办法。2、treeset:不保证元素的添加挨次,但是会对集合中的元素举行排序。底层采纳 红-黑 树算法(树结构比较适合范围查询)。hashmap与hashtable区分1.hashtable是线程同步的,也是线程平安的。hashmap不是线程同步的,所以不是线程平安的。所以在多线程场合要手动同步hashmap这个区分就像vector和arraylist一样。2.hashtable不允许null值(key和value都不行以),hashmap允许null值(key和value都可以)。3

5、.hashtable有一个contains(object value),功能和containsvalue(object value)功能一样。4.hashtable用法enumeration,hashmap用法iterator。hashmap是一个最常用的map,它按照键的hashcode 值存储数据,按照键可以挺直猎取它的值,具有很快的拜访速度。hashmap最多只允许一条记录的键为null;允许多条记录的值为 null;hashmap不支持线程的同步,即任一时刻可以有多个线程同时写hashmap;可能会导致数据的不全都。假如需要同步,可以用 collections的synchronizedmap办法使hashmap

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论