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

【无标题】

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

【无标题】

Java容器 对于Java内容器的大体介绍


Java容器分为两大阵营:Collection和Map

Collection:主要是单个元素的集合,由List、Queue、Set三个接口区分不同的集合特征,然后由下面的具体的类来实现对应的功能。

Map:有一组键值对的存储形式来保存,可以用键对象来查找值。

1.Collection接口的几个子接口 1.1 List

List的特点就是存储的元素是可以重复的。List接口在Collection的基础上增加了很多的方法。

List主要分为ArrayList和LinkedList,前者底层是使用数组实现的List,后者是使用链表实现的List。

Vector是一个已经被弃用的类,因为他是线程同步的,而我们平时使用的时候都是非同步的,使用同步的坏处就是会在一个记录上加锁,防止多个程序访问同一条数据导致数据不同步。这样会导致访问速度变慢。

Stack是满足“后进先出”规则的容器,注意LinkedList可以实现所有的栈功能。
常用函数
List下的函数:

add():在末尾添加一个元素
clear():清空
size():返回长度
isEmpty():是否为空
get(i):获取第i个元素
set(i, val):将第i个元素设置为val

Stack下的函数:
函数:

push():压入元素
pop():弹出栈顶元素,并返回栈顶元素
peek():返回栈顶元素
size():返回长度
empty():栈是否为空
clear():清空

1.2 Queue

接口:java.util.Queue<>

实现:

java.util.LinkedList<>:双链表
java.util.PriorityQueue<>:优先队列(需要插入的类实现Comparable接口),或者自己创建PriorityQueue时new Comparator
默认是小根堆,大根堆写法:new PriorityQueue<>(Collections.reverseOrder())
函数:

add():在队尾添加元素
remove():删除并返回队头
isEmpty():是否为空
size():返回长度
peek():返回队头
clear():清空

1.3 Set

set代表的是数学上的集合的意思,所以set中的元素不可以重复。
HastSet底层是使用散列函数,在查询的方面有优化
TreeSet底层使用的是红黑树
接口:java.util.Set

实现:

  • java.util.HashSet:哈希表
  • java.util.TreeSet:平衡树

函数:

add():添加元素
contains():是否包含某个元素
remove():删除元素
size():返回元素数
isEmpty():是否为空
clear():清空
java.util.TreeSet多的函数:

ceiling(key):返回大于等于key的最小元素,不存在则返回null
floor(key):返回小于等于key的最大元素,不存在则返回null

HashSet不维护任何元素顺序,而TreeSet元素默认按升序排序

2.Map接口的几个实现类

接口:java.util.Map

实现:

java.util.HashMap:哈希表
java.util.TreeMap:平衡树
函数:

put(key, value):添加关键字和其对应的值
get(key):返回关键字对应的值
containsKey(key):是否包含关键字
remove(key):删除关键字
size():返回元素数
isEmpty():是否为空
clear():清空
entrySet():获取Map中的所有对象的集合
Map.Entry:Map中的对象类型
getKey():获取关键字
getValue():获取值
java.util.TreeMap多的函数:

ceilingEntry(key):返回大于等于key的最小元素,不存在则返回null
floorEntry(key):返回小于等于key的最大元素,不存在则返回null

TreeMap按照关键字排序,key不能为null,value可以为null
HashMap不按关键字排序

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

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

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