欢迎光临散文网 会员登陆 & 注册

千锋教育Java入门全套视频教程(java核心技术,适合java零基础,Java

2023-07-17 20:59 作者:爱吃大闸蟹蟹  | 我要投稿

集合的分类集合家族可分为collection和map

实现collection家族主要包含list列表和set集合,他们继承父类conllection,同时也是很多常用容器的父类;

list特点:单例元素集合、列表允许重复的元素、用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素。

set特点:不包含重复的元素、 没有带索引的方法不能用普通的for循环遍历。使用foreach方法进行遍历。

map特点:双列的集合,其中用put方法添加,定义put(key,value)每次存储时要存储一对key/value,不能存储相同的key,这个重复规则也是按照equals比较相等。

综上list以特定次序存储持有元素,可有重复元素,Set无法拥有重复元素,内部排序;map保持key-value值value可多值

ArrayList与Vector,LinkList继承list,其中ArrayList与Vector底层是数组,linklist底层是双向链表,ArrayList和LinkList都是线程不安全的,而vector是线程安全的,使用了synchronized锁。

ArrayList:在集合末尾添加删除元素所消耗的时间是一样的,但是在集合中间添加删除所用时间就会大大增加,但是根据索引查询的时候,速度就会很快。

LinkList:在集合任意地方添加删除元素时花费时间都是一样的,但是根据索引查询的时间就会多一些。

hashset与treeset继承至set存储特点是有序不可重复,hashsat底层是hashmap,hashmap底层是hash表,treeset底层是treemap。

hashmap与hashtable都属于map,但是hashmap继承至abstractMap,hashmap底层是hash表,hashmap是线程不安全,hashtable是线程安全的,hashmap是以2倍大小扩容,hashtable以二倍加一大小扩容;hashmap可以存在null值null键,hashtable不行,hashtable建初始值是11,hashmap键初始值是16。

千锋教育Java入门全套视频教程(java核心技术,适合java零基础,Java的评论 (共 条)

分享到微博请遵守国家法律