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(); // 队列 Queue queue = 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); } // 哈希表 Map map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); int val = map.get("apple"); // 排列组合 List >res = new ArrayList<>(); void backtrack(int[] nums, List
track) { 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中常用的一些数据结构和算法,掌握它们的使用可以大大提升程序的运行效率。