美文网首页
Java集合框架

Java集合框架

作者: 不吃兔子的胡萝卜_2127 | 来源:发表于2018-08-30 12:58 被阅读0次

Java集合类

概念:一种工具类,就像是容器,储存任意数量的具有共同属性的对象。

集合的作用:

🌂在类的内部,对数据进行组织;

🌂简单而快速地搜索大数量的条目;

🌂有的集合接口,提供了一系列排列语序的元素,并且可以在序列中间快速的插入或者删除有关元素;

🌂有的集合接口,提供了映射关系,可以通过关键字(key)去快速查找到对应的唯一对象,而这个关键字可以是任意类型。

数组与集合的对比:

数组长度固定,而集合的长度是可变的,在运行过程中,动态扩展的。

数组智能通过下表访问元素(遍历),而有的集合可以通过任意类型查找所映射的具体对象。

java的典型集合类:Collection & Map

Java的集合类

List,Queue是有序的可重复的集合;Set则是无序不可重复的集合。ArrayList是应用最广泛的List的一个重要实现类,数组序列。

List接口——ArrayList实现(底层实现)

增删改查add(),remove(),removeAll(),get()

泛型

集合中的元素,可以是任意类型的对象(对象的引用)(如果把某个对象放入集合,则会忽略它的类型,而是把它当作Object处理);泛型则是规定了某个集合只可以存放特定类型的对象会在编译期间进行类型检查,可以直接按照指定类型获取集合元素

泛型集合中的限定类型不能使用基本的数据类型,只能使用引用的数据类型,可以通过使用包装类限定允许存入的基本数据类型。

Set接口(实现类:HashSet)

🌂Set:元素无序且不可重复的集合,被称为集

🌂HashSet——哈希集,是Set的一个重要实现类

循环遍历Set中的某个元素,只能用foreach()于iterator(),不可以使用get(),Set中添加某个对象,无论添加多少次,最终只会保留一个该对象(的引用),并且,保留的是第一次添加的那个。

Map类

🌂Map提供的是一种映射关系,其中的元素是以键值对(key-value)的形式存储,能够实现key快速查找value

Map接口

🌂Map中的键值对Entry类型的对象实例形式存在

🌂键(key值)不可重复,value值可以

🌂每个键最多只能映射到一个值

key-value的映射关系

🌂Map接口提供了分别返回key值集合、value值集合以及Entry(键值对)集合的方法

🌂Map支持泛型,形式如:Map<K,V>

Map的实现类——HashMap类

HashMap类

keySet()返回的是Map中所有键值的集合;entrySet则返回的是Map中所有键值对的集合。

List中contains的实现原理

contains

Collections工具类

--sort()方法以及Collection.sort()的适用范围

sort

sort()默认升序,可以自定义compartor作为新的排序规则

此外,collections类还可以提供乱序函数Collections.shuffle()

Comparable接口:在java中用于实现某些类的比较,相当于定义了比较的规则(Student类)默认比较规则

Comparable接口

Comparator接口:临时比较规则(自由定义)

Comparator接口

相关文章

网友评论

      本文标题:Java集合框架

      本文链接:https://www.haomeiwen.com/subject/tbwziftx.html