当前位置:首页 > Java

Java如何逆序

2026-03-19 16:20:52Java

逆序数组或列表

在Java中逆序一个数组或列表可以通过多种方式实现。以下是几种常见的方法:

使用 Collections.reverse() 方法 适用于 List 类型的数据结构,如 ArrayListLinkedList

import java.util.Collections;
import java.util.ArrayList;
import java.util.List;

List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
Collections.reverse(list);
System.out.println(list); // 输出 [3, 2, 1]

手动逆序数组 通过交换数组元素实现逆序。

int[] array = {1, 2, 3, 4, 5};
for (int i = 0; i < array.length / 2; i++) {
    int temp = array[i];
    array[i] = array[array.length - 1 - i];
    array[array.length - 1 - i] = temp;
}
System.out.println(Arrays.toString(array)); // 输出 [5, 4, 3, 2, 1]

逆序字符串

字符串逆序可以通过 StringBuilder 或手动交换字符实现。

Java如何逆序

使用 StringBuilder.reverse()

String str = "Hello";
String reversed = new StringBuilder(str).reverse().toString();
System.out.println(reversed); // 输出 "olleH"

手动逆序字符串

Java如何逆序

String str = "Hello";
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length / 2; i++) {
    char temp = chars[i];
    chars[i] = chars[chars.length - 1 - i];
    chars[chars.length - 1 - i] = temp;
}
String reversed = new String(chars);
System.out.println(reversed); // 输出 "olleH"

逆序链表

如果是自定义链表结构,可以通过修改指针方向实现逆序。

单链表逆序示例

class ListNode {
    int val;
    ListNode next;
    ListNode(int val) { this.val = val; }
}

public ListNode reverseList(ListNode head) {
    ListNode prev = null;
    ListNode current = head;
    while (current != null) {
        ListNode nextTemp = current.next;
        current.next = prev;
        prev = current;
        current = nextTemp;
    }
    return prev;
}

逆序数字

逆序一个数字可以通过数学运算实现。

int num = 12345;
int reversed = 0;
while (num != 0) {
    reversed = reversed * 10 + num % 10;
    num /= 10;
}
System.out.println(reversed); // 输出 54321

注意事项

  • 对于数组或字符串,手动逆序时需注意边界条件(如长度为奇数或偶数)。
  • 链表逆序时需正确处理指针,避免丢失节点引用。
  • 数字逆序需考虑溢出问题(如逆序后超出 int 范围)。

标签: 逆序Java
分享给朋友:

相关文章

js实现查找逆序数

js实现查找逆序数

查找逆序数的实现方法 逆序数(Inversion Count)用于衡量一个数组或序列的排序程度。逆序数定义为数组中满足 i < j 且 arr[i] > arr[j] 的元素对数。以下是几…

如何将Java打包成.jar

如何将Java打包成.jar

使用JDK的jar命令打包 确保JDK已安装并配置环境变量。在项目根目录(包含编译后的.class文件)执行以下命令: jar cvf YourJarName.jar * 若需指定主类(可执行jar…

Java如何实现异步处理

Java如何实现异步处理

异步处理的实现方式 Java中实现异步处理有多种方法,包括使用多线程、Future、CompletableFuture以及响应式编程框架等。以下是几种常见的实现方式: 使用多线程 通过创建新线程执行…

Java 如何初始化

Java 如何初始化

初始化基本数据类型 Java 的基本数据类型(如 int, double, boolean 等)可以直接赋值初始化: int num = 10; double price = 29.99; bo…

shell 如何调用Java

shell 如何调用Java

在Shell中调用Java程序 通过Shell脚本调用Java程序需要确保Java环境已正确配置,并明确指定类路径或JAR文件路径。以下是具体实现方法: 检查Java环境 执行以下命令验证Java是…

如何自学Java竞赛

如何自学Java竞赛

自学Java竞赛的步骤 明确竞赛目标和范围 确定参加的竞赛类型(如ACM、LeetCode周赛等),了解其考察重点(算法、数据结构、特定库函数)。研究往届题目和评分标准,制定针对性学习计划。 掌握核…