java 数据结构

embedded/2024/9/22 22:32:47/

Java 数据结构是指在 Java 语言中使用的数据结构概念和实现,这些数据结构可以用来解决各种问题和问题,例如数据存储、查找、排序、图形处理等。下面是 Java 数据结构的常见概念和实现:

  1. 数组(Array)

数组是一种常见的数据结构,在 Java 中可以使用 int[]double[] 等方式来声明一个数组。数组是一种固定大小的数据结构,可以存储同类型的数据。

int[] arr = new int[5];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
  1. linkedlist(链表)

链表是一种动态数据结构,在 Java 中可以使用 LinkedList 类来实现。链表是一种可以根据需要动态地添加或删除元素的数据结构

LinkedList<String> list = new LinkedList<>();
list.add("hello");
list.add("world");
  1. 栈(Stack)

栈是一种后入先出(LIFO)的数据结构,在 Java 中可以使用 Stack 类来实现。栈是一种可以使用 push 和 pop 操作来添加或删除元素的数据结构

Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);
int pop = stack.pop();
  1. 队列(Queue)

队列是一种先入先出(FIFO)的数据结构,在 Java 中可以使用 Queue 接口和 LinkedList 类来实现。队列是一种可以使用 add 和 remove 操作来添加或删除元素的数据结构

Queue<Integer> queue = new LinkedList<>();
queue.add(1);
queue.add(2);
int remove = queue.remove();

5.图(Graph)

图是一种复杂的数据结构,在 Java 中可以使用 HashMap 和 ArrayList 来实现。图是一种可以表示节点之间关系的数据结构

HashMap<Integer, ArrayList<Integer>> graph = new HashMap<>();
graph.put(1, new ArrayList<>(Arrays.asList(2, 3)));
graph.put(2, new ArrayList<>(Arrays.asList(4, 5)));

6.树(Tree)

树是一种有层次结构的数据结构,在 Java 中可以使用 TreeSet 和 TreeMap 来实现。树是一种可以使用 add 和 remove 操作来添加或删除元素的数据结构

TreeSet<Integer> set = new TreeSet<>();
set.add(1);
set.add(2);
set.add(3);

7.哈希表(HashMap)

哈希表是一种快速查找的数据结构,在 Java 中可以使用 HashMap 来实现。哈希表是一种可以使用 put 和 get 操作来添加或删除元素的数据结构

HashMap<String, Integer> map = new HashMap<>();
map.put("hello", 1);
int value = map.get("hello");
  1. Trie(前缀树)

Trie是一种树形数据结构,在 Java 中可以使用 Trie 类来实现。Trie是一种可以快速查找前缀的数据结构

Trie<String> trie = new Trie<>();
trie.insert("hello");
boolean exists = trie.startsWith("hel");

9.Heap(堆)

堆是一种特殊的树形数据结构,在 Java 中可以使用 PriorityQueue 来实现。堆是一种可以使用 offer 和 poll 操作来添加或删除元素的数据结构

PriorityQueue<Integer> queue = new PriorityQueue<>();
queue.offer(1);
queue.offer(2);
int poll = queue.poll();

10.BitMap(位图)

位图是一种使用位来表示数据的数据结构,在 Java 中可以使用 BitSet 来实现。位图是一种可以使用 set 和 get 操作来添加或删除元素的数据结构

BitSet set = new BitSet();
set.set(1);
boolean get = set.get(1);

http://www.ppmy.cn/embedded/98536.html

相关文章

字符函数内存函数———C语言

字符分类函数 头文件&#xff1a; ctype.h 函数功能iscntrl判断字符是否为控制字符isspace判断字符是否为空白字符&#xff08;空格&#xff0c;换页、换行、回车、制表符或垂直制表符&#xff09;isdigit判断字符是否为十进制数字isxdigit判断字符是否为十六进制数字(0-9)(a…

在线excel/csv转json数据

具体请访问&#xff1a;在线Csv/Excel(xls/xlsx)转Json格式工具

虚幻5|AI行为树,跟随task(非行为树AI)

这个可以不需要行为树 1.打开ai的角色蓝图后&#xff0c;添加一个函数&#xff0c;命名为跟距离改变速度 并用tick调用 2.编辑函数

encoder和decoder结构

1. 编码器&#xff08;Encoder&#xff09;&#xff1a; 编码器处理输入数据&#xff08;例如&#xff0c;句子中的词序列&#xff09;&#xff0c;并将其压缩成一个固定大小的上下文向量或一系列上下文向量。这一部分通常由多层递归神经网络&#xff08;RNNs&#xff09;、长…

Ubuntu技巧-Ubuntu远程访问之电信公网IP

&#x1f4a1; 大家好&#xff0c;我是可夫小子&#xff0c;《小白玩转ChatGPT》专栏作者&#xff0c;关注AIGC、互联网和自媒体。 前面文章介绍了家庭服务器接入外网的三种方式的第一种&#xff0c;今天介绍第二种&#xff0c;即通过获得电脑公网IP&#xff0c;然后再设置动态…

关于Python3项目中依赖包管理问题

背景&#xff1a;最近在使用Python3.11编写脚本来获取google play中app的用户评论&#xff0c;脚本中需要安装多个依赖包&#xff0c;在本地Pycharm调试通过以后&#xff0c;上传到github&#xff0c;然后在linux服务器拉取脚本来运行&#xff0c;发现存在几个问题。本文将面临…

HAProxy的详解

一、介绍 1.1 定义 HAProxy是一个使用C语言编写的自由及开放源代码软件&#xff0c;其提供高可用性、负载均衡&#xff0c;以及基于TCP和HTTP的应用程序代理。 HAProxy特别适用于那些负载特大的web站点&#xff0c;这些站点通常又需要会话保持或七层处理。HAProxy运行在当前…

Vue 3 + Pinia 实现网页刷新功能

概述 在现代 Web 开发中&#xff0c;保持用户界面的动态性和响应性至关重要。当用户触发某些操作时&#xff0c;例如点击按钮或者完成表单提交&#xff0c;我们往往需要刷新页面的一部分来展示最新的数据。本文将介绍如何使用 Vue 3 和 Pinia 来实现这一功能。 技术栈 Vue 3…