当前位置: 首页 > news >正文

Java数据结构的基础用法

数组

数组是一种固定大小的数据结构,用来存储相同类型的元素。

// 创建数组
int[] arr = new int[5];
// 赋值
arr[0] = 1;
// 获取元素
int element = arr[0];
// 获取数组长度
int length = arr.length;

集合框架

1. List

List 是一个有序的集合,允许重复元素。常见的实现类有 ArrayList 和 LinkedList

import java.util.ArrayList;
import java.util.List;

// 创建 List
List<String> list = new ArrayList<>();
// 添加元素
list.add("apple");
// 在指定位置添加元素
list.add(1, "banana");
// 获取元素
String fruit = list.get(0);
// 获取元素位置
int index = list.indexOf("apple");
// 删除元素
list.remove(0);
// 获取列表大小
int size = list.size();
2. Set

Set 是一个不允许重复元素的集合。常见的实现类有 HashSetTreeSet

import java.util.HashSet;
import java.util.Set;

// 创建 Set
Set<String> set = new HashSet<>();
// 添加元素
set.add("apple");
// 判断元素是否存在
boolean contains = set.contains("apple");
// 删除元素
set.remove("apple");
// 获取集合大小
int size = set.size();
3. Map

Map 存储键值对,键是唯一的。常见的实现类有 HashMapTreeMap

import java.util.HashMap;
import java.util.Map;

// 创建 Map
Map<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("apple", 1);
// 获取值
Integer value = map.get("apple");
// 判断键是否存在
boolean containsKey = map.containsKey("apple");
// 删除键值对
map.remove("apple");
// 获取键值对数量
int size = map.size();

栈和队列

1. 栈(Stack

栈是一种后进先出(LIFO)的数据结构。

import java.util.Stack;

// 创建栈
Stack<Integer> stack = new Stack<>();
// 入栈
stack.push(1);
// 出栈
int top = stack.pop();
// 查看栈顶元素
int peek = stack.peek();
// 判断栈是否为空
boolean empty = stack.isEmpty();
2. 队列(Queue

队列是一种先进先出(FIFO)的数据结构。常见的实现类有 LinkedList

import java.util.LinkedList;
import java.util.Queue;

// 创建队列
Queue<Integer> queue = new LinkedList<>();
// 入队
queue.offer(1);
// 出队
int front = queue.poll();
// 查看队首元素
int peek = queue.peek();
// 判断队列是否为空
boolean empty = queue.isEmpty();

优先级队列(PriorityQueue

PriorityQueue 是一个基于优先级堆的无界优先级队列。

import java.util.PriorityQueue;

// 创建优先级队列
PriorityQueue<Integer> pq = new PriorityQueue<>();
// 添加元素
pq.offer(3);
// 获取并移除队首元素
int min = pq.poll();
// 查看队首元素
int peek = pq.peek();
// 判断队列是否为空
boolean empty = pq.isEmpty();

这些就是 Java 中常见数据结构的常用方法,掌握它们能让你在实际编程中更高效地使用不同的数据结构。

相关文章:

  • 嵌入式AI开源生态指南:从框架到应用的全面解析
  • JavaScript学习教程,从入门到精通,JavaScript 基础语法全面指南(5)
  • 2025.4.6总结
  • 低空经济基础设施建设方向与展望
  • 深入详解流形学习中的几何解释
  • 机器学习/深度学习
  • HTML语言的数据可视化
  • deepseek为采用JAVA重构模型运营平台vLLM和SGLang指定的计划
  • 【学习笔记】Ruckig: 高效实时运动规划库
  • 如何获取oracle cloud永久免费的vps(4C/24G)?
  • 机器学习的一百个概念(10)假阳性率
  • Spring 中的 bean 生命周期
  • 数据对象:DTO、DO、PO和 BO的区别和关系
  • 用 C++ 写汉诺塔程序
  • 从零开始的编程-java篇1.6.3
  • 医院大数据处理的主要痛点分析
  • 低代码开发平台:飞帆制作网页并集成到自己的网页中
  • 1110+款专业网站应用程序UI界面设计矢量图标figma格式素材 Icon System | 1,100+ Icons Easily Customize
  • FreeRTOS移植笔记:让操作系统在你的硬件上跑起来
  • visual_studio_2022集成SFML
  • 网站开发页面设计过程/网络营销知名企业
  • 网站建设公司 青岛/百度推广竞价开户
  • 上海建设网站是国家级吗/合肥百度关键词推广
  • wordpress 如何搬家/seo职业培训学校
  • 徐州网站建设技术外包/国内免费域名注册网站
  • 新手做视频网站好/石家庄关键词优化报价