Java-Leetcode 常用数据结构和函数

本文详细介绍了计算机科学中的基本数据结构,包括栈、队列、双端队列、列表、优先队列、集合及哈希表等,并提供了每种数据结构的主要操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用数据结构

栈(Deque)(LinkedList实现)

  • 入栈 push(e)
  • 获取栈顶 peek()
  • 弹出栈顶 pop()

普通队列(Queue)(LinkedList实现)

以下函数失败时前者抛出异常,后者返回特殊值,如 false、null等。

  • 队尾添加元素 add(e)、offer(e)
  • 获取队首元素 element()、peek()
  • 弹出队首元素 remove()、poll()

双端队列(Deque)(LinkedList实现)

  • 队首插入元素 addFirst(e)
  • 队尾插入元素 addLast(e)
  • 获取队首元素 getFirst()
  • 获取队尾元素 getLast()
  • 弹出队首元素 removeFirst()
  • 弹出队尾元素 removeLast()

列表(List)(LinkedList、ArrayList、Vector实现)

  • 添加元素 add(e)
  • 获取元素 get(index)
  • 清除元素 remove(index)
  • 添加所有元素 addAll(collection) 将Collection中所有元素添加
  • 取子列表 subList(l,r) 取index为l~r-1的子列表

优先队列(PriorityQueue)

  • 获取队首元素 peek()
  • 弹出队首元素 poll()
  • 添加元素 add(e)
  • 获取大小 size()

集合(HashSet)

  • 添加元素 add(e) 元素已存在则返回false
  • 删除指定元素 remove(e)
  • 删除所有元素 clear()
  • 是否包含某元素 contains(e)
  • 是否为空 isEmpty()
  • 获取大小 size()

哈希表(HashMap)

  • 添加元素 put(key,val)
  • 获得元素 get(key)、getOrDefault(key,val)
  • 是否包含某元素 containsKey(key)、containsValue(val)
  • 是否为空 isEmpty()
  • 遍历 keySet()、entrySet()
for(Map.Entry<Key, Value> entry:map.entrySet()){
	entry.getKey();
	entry.getValue();
}

其它集合类方法

  • Arrays.asList() 将数组转化成List集合
List<String> list = Arrays.asList("a","b","c");
  • Collections.reverse(collection) 将集合c反序
  • arraylist.addAll(collection) 将集合c添加到arraylist中
  • Collections.sort(collection) 给集合c排序
  • Collections.swap(list,i,j) 交换列表i,j位置的元素

其它JAVA方法

  • str1.compareTo(str2) 比较str1与str2的ASCII值
  • str.substring(beginIndex,endIndex) 截取beginIndex到endIndex-1的子串
  • str.toCharArray() str转为char数组
  • Integer.valueOf(str) str转为int
  • list.toArray() list转为数组,注意返回Object类型,需要强制类型转换,或在参数中添加需要转换的数组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值