Java中的常用数据结构和相关函数
Java中常用的数据结构有数组、链表、堆、栈、队列、树、图等。这些数据结构在Java中都有自己的类或接口,可以通过这些类或接口来实现和操作相应的数据结构。
1.数组
数组是Java中最基本的数据结构之一,它可以存储一组特定类型的元素。Java中的数组是一种有序的、固定大小的数据结构,所有元素的类型必须相同。
常用的数组操作函数有:
1)int[] array = new int[10];//申请一个大小为10的整数数组
2)array.length; //获取数组长度
3)array[index]; //获取指定位置的元素
4)Arrays.fill(array, value); //将整个数组填充为同一个值
5)Arrays.sort(array); //将数组排序
2.链表
链表是一种动态的、非连续的数据结构。Java中提供了LinkedList类来实现链表。
常用的链表操作函数有:
1)LinkedList<E> list = new LinkedList<E>();//创建一个LinkedList对象
2)list.add(E e); //向链表尾部添加一个元素
3)list.addFirst(E e); //向链表头部添加一个元素
4)list.addLast(E e); //向链表尾部添加一个元素
5)list.remove(int index); //移除指定位置的元素
6)list.removeFirst(); //移除链表头部的元素
7)list.removeLast(); //移除链表尾部的元素
8)list.get(int index); //获取指定位置的元素
9)list.size(); //获取链表中元素的个数
3.堆
堆是一种完全二叉树结构,Java提供了PriorityQueue类来实现堆。
常用的堆操作函数有:
1)PriorityQueue<E> queue = new PriorityQueue<E>();//创建一个PriorityQueue对象
2)queue.offer(E e); //向堆中添加一个元素
3)queue.poll(); //移除并返回堆顶部的元素
4)queue.peek(); //获取堆顶部的元素,但不移除
5)queue.size(); //获取堆中元素的个数
4.栈
栈是一种后进先出(Last In First Out)的数据结构,Java中提供了Stack类来实现栈。
常用的栈操作函数有:
1)Stack<E> stack = new Stack<E>();//创建一个Stack对象
2)stack.push(E item); //向栈中添加一个元素
3)stack.pop(); //移除并返回栈顶部的元素
4)stack.peek(); //获取栈顶部的元素,但不移除
5)stack.empty(); //判断栈是否为空
6)stack.search(Object o); //查找并返回指定元素在栈中的位置
5.队列
队列是一种先进先出(First In First Out)的数据结构,Java中提供了Queue接口和Deque接口来实现队列。
常用的队列操作函数有:
1)Queue<E> queue = new LinkedList<E>();//创建一个队列
2)queue.add(E e); //向队列尾部添加一个元素
3)queue.poll(); //移除并返回队列头部的元素
4)queue.peek(); //获取队列头部的元素,但不移除
5)queue.isEmpty(); //判断队列是否为空
6.树
树是一种非线性的数据结构,食物结构是有层次关系的,Java中提供了TreeSet类和TreeMap类来实现树。
常用的树操作函数有:
1)TreeSet<E> set = new TreeSet<E>();//创建一个TreeSet对象
2)set.add(E e); //向树中添加一个元素
3)set.first(); //获取树中最小的元素
4)set.last(); //获取树中最大的元素
5)set.size(); //获取树中元素的个数
6)TreeMap<K,V> map = new TreeMap<K,V>();//创建一个TreeMap对象
7)map.put(K key, V value); //向树中添加一个键值对
8)map.get(Object key); //获取指定键对应的值
9)map.firstKey(); //获取树中最小的键
10)map.lastKey(); //获取树中最大的键
7.图
图是一种由节点和边组成的非线性数据结构,Java中提供了Graph类来实现图。
常用的图操作函数有:
1)Graph<V,E> graph = new DirectedWeightedMultigraph<V,E>(Edge.class);//创建一个图
2)Vertex v = graph.addVertex(V vertex); //向图中添加一个顶点
3)Edge e = graph.addEdge(Vertex u, Vertex v, E edge); //向图中添加一条边
4)Set<Vertex> vertexSet(); //获取图中所有的顶点
5)Set<Edge> edgeSet(); //获取图中所有的边
6)Graph<E,V>.DijkstraShortestPath shortestPath = new DijkstraShortestPath(graph, sourceVertex, targetVertex); //计算最短路径
总结
Java中常用的数据结构包括数组、链表、堆、栈、队列、树、图等。这些数据结构都有相应的类或接口可以使用,开发者可以根据需要选择合适的数据结构进行操作。同时,Java中也提供了许多常用的操作函数供开发者使用,可以大大提升开发效率。
