淘先锋技术网

首页 1 2 3 4 5 6 7

Java是一门广泛使用的编程语言,数据结构和算法是程序设计的基础。

下面是Java常用的数据结构和算法。

// 数组排序
int[] arr = {5, 2, 8, 1, 9};
Arrays.sort(arr); // 升序排序
// 字符串长度
String str = "Hello";
int len = str.length();
// 字符串比较
String str1 = "hello";
String str2 = "world";
int cmp = str1.compareTo(str2);
// 链表
class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}
ListNode l1 = new ListNode(1);
l1.next = new ListNode(2);
l1.next.next = new ListNode(3);
// 栈
Stackstack = new Stack<>();
stack.push(1);
stack.push(2);
int top = stack.peek();
// 队列
Queuequeue = new LinkedList<>();
queue.offer(1);
queue.offer(2);
int front = queue.peek();
queue.poll();
// 二叉树
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
// 递归遍历二叉树
void traverse(TreeNode node) {
if (node == null) return;
traverse(node.left);
traverse(node.right);
}
// 哈希表
Mapmap = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
int val = map.get("apple");
// 排列组合
List>res = new ArrayList<>();
void backtrack(int[] nums, Listtrack) {
if (track.size() == nums.length) {
res.add(new ArrayList<>(track));
return;
}
for (int i = 0; i< nums.length; i++) {
if (track.contains(nums[i])) continue;
track.add(nums[i]);
backtrack(nums, track);
track.remove(track.size() - 1);
}
}

以上是Java中常用的一些数据结构和算法,掌握它们的使用可以大大提升程序的运行效率。