前言
众所周知,程序=数据结构+算法,可见数据结构的重要性。
在Java中,数据结构通常指的是Java集合框架中的类和接口。
Java集合框架提供了一套标准的数据结构,例如列表、集合、映射表等,以及相应的实现类。
今天要分享的文章是:Java中的数据结构。
数据结构
定义
研究对象
-
数据逻辑结构
- 集合
- 线性结构
- 树形结构
- 图形结构
-
数据存储结构
分类
- 线性结构
- 非线性结构
常见的数据结构
常用算法
数据操作是指对数据结构中的数据元素进行运算或处理。
数据操作定义在数据的逻辑结构上,每种逻辑结构都需要一组对其数据元素进行处理以实现特定功能的操作,如插入、删除、更新等。
数据操作的实现依赖于数据的存储结构 。
一般有以下几种常用运算:
- 创建操作
- 插入操作
- 删除操作
- 查找操作
- 修改操作
- 遍历操作
Java中的数据结构
- 数组列表ArrayList
java
@Test
public void testArrayList() {
ArrayList<String> list = new ArrayList<>();
list.add("Element 1");
list.add("Element 2");
list.add("Element 3");
}
- 链表LinkedList
java
@Test
public void testLinkedList() {
LinkedList<Integer> linkedList = new LinkedList<>();
linkedList.add(1);
linkedList.add(2);
linkedList.add(3);
}
- 哈希集合HashSet
java
@Test
public void testHashSet() {
HashSet<Character> set = new HashSet<>();
set.add('A');
set.add('B');
set.add('C');
}
- 哈希映射表HashMap
java
@Test
public void testHashMap() {
HashMap<Integer, String> map = new HashMap<>();
map.put(1, "One");
map.put(2, "Two");
map.put(3, "Three");
}
- 堆栈Stack
java
@Test
public void testStack() {
Stack<Double> stack = new Stack<>();
stack.push(1.1);
stack.push(2.2);
stack.push(3.3);
}
- 队列Queue
java
@Test
public void testQueue() {
Queue<Boolean> queue = new LinkedList<>();
queue.offer(true);
queue.offer(false);
queue.offer(true);
}
- 二叉树
java
class TreeNode {
int value;
TreeNode left;
TreeNode right;
TreeNode(int value) {
this.value = value;
this.left = null;
this.right = null;
}
}
java
@Test
public void testTree() {
TreeNode root = new TreeNode(1);
root.left = new TreeNode(2);
root.right = new TreeNode(3);
root.left.left = new TreeNode(4);
}