栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

集合类型,泛型

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

集合类型,泛型

集合:

集合可以分为:Collection接口(单列)和Map接口(双列)

Collection:下面又有两个接口分别是List和Set。

List:list接口(继承了 Collection)(常用子类:ArrayList(底层是数组), linkedList(底层是双链表)),list:有序集合(也称为序列),该界面的用户可以精确控制列表中每个元素的插入位置。用户可以通过整数索引(列表中的位置)访问元素,并搜索列表中的元素。与set不同,列表通常允许重复的元素

特征:1.有序:存储和取出的元素顺序一致。2.可重复:存储的元素可以重复

Set:Set接口的常用子类和List相似分别是HashSet(底层数据结构是哈希表)和linkedHashSet(底层是哈希表和链表实现的Set接口,具有可预测的迭代次序),linkedHashSet由哈希表保证元素唯一,也就是说没有重复的元素,由链表保证元素有序,也就是说元素的存储和取出顺序是一致的,而HashSet只保证元素的唯一性。

还有一类是TreeSet:TreeSet(间接实现Set)(使用基础类型的时候要用对应的包装类)

元素有序,这里的顺序不是指存储和取出的顺序,而是按照一定的规则进行排序,具体排序方式取决于构造方法:

1.TreeSet():是根据其元素的自然排序进行排序。

2.TreeSet(Comarator comparator):根据指定的比较器进行排序

List和Set的区别:1.Set没有索引的方法,不能使用普通for循环遍历,而List有可以使用三种遍历方式;2.List不能保证元素的唯一性,而Set可以保证。

Map:Interface Map K:键的类型 ; V:值的类型;将键映射到值的对象,不能包含重复的键,每个键可以映射到最多一个值。

Map的实现:

1.具体的实现类HashMap,而Hash会保证键的唯一性,HashMap是一个“链表散列”的数据结构,即数组和链表的结合体;可以通过数组数据结构和指针(引用)数据结构实现HashMap结构。HashMap底层就是一个数组结构,数组中的每一项又是一个链表。

2.可以使用TreeMap,他会实现排序,可以保证键的唯一性。

Collections的工具类:此类仅由静态方法或返回集合,是针对集合操作的工具类

方法:

1.public static void sort(List list)>:将指定的列表按升序排序。

2.public static void reverse (List list):反转指定列表中元素的顺序 。

3.public static void shuffle(List list):使用默认的随机源随机排列指定的列表。

Collection与Collections的区别:

Collection:是一个集合接口。

Collections:是一个包装类,里面的方法都是静态的。

泛型:简单来说就类似于集合ArrayList中的就是泛型,它的本质是参数化类型(自定义对象),也就是说操作的数据类型被指定为一个参数,一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递参数,而参数化类型就是将类型由原来的具体的类型参数化,然后在使用/调用时传入具体的类型,这种参数类型可以用在类,方法和接口中,分别被称为泛型类,泛型方法,泛型接口。

注意:泛型的<>内其实是Object,而我们给的是要对象类型,而基本数据类型不是对象类型,所以我们知道泛型类中要用引用类型,而想要使用基本数据类型就必须转换为其包装类也就是Integer等包装类

好处:

1.把运行时期的问题提前到了编译期间。

2.避免了强制转换。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777925.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号