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 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 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 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 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 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 pq = new PriorityQueue<>();
// 添加元素
pq.offer(3);
// 获取并移除队首元素
int min = pq.poll();
// 查看队首元素
int peek = pq.peek();
// 判断队列是否为空
boolean empty = pq.isEmpty();

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

你可能感兴趣的:(java,数据结构)