如何在Java中将ArrayList按升序排序
在这篇文章中,我们将学习如何使用Java将ArrayList按升序排序。排序允许我们将元素按特定顺序排列。我们将使用Collections.sort() 方法,它简化了排序过程,无论您是处理整数还是字符串。程序将演示如何将整数和名称的ArrayList按升序排序。
问题陈述
编写一个Java程序,将ArrayList中的元素按升序排序。我们将看两个例子——一个是整数值,另一个是字符串值。
输入1
Points
[50, 29, 35, 11, 78, 64, 89, 67]
输出1
Points (ascending)
[11, 29, 35, 50, 64, 67, 78, 89]
输入2
Student Names
[Tim, John, Steve, Andy, Devillers, Jacob, Franco, Amy]
输出2
Student Names (ascending)
[Amy, Andy, Devillers, Franco, Jacob, John, Steve, Tim]
不同的方法
以下是使用Java将ArrayList按升序排序的不同方法:
在ArrayList中排序整数元素
以下是使用Java按升序排序ArrayList的步骤:
- 从java.util包导入ArrayList和Collections类。
- 创建一个ArrayList来存储整数元素。
- 向列表中添加一些整数值。
- 显示排序前的ArrayList。
- 使用Collections.sort()方法按升序排序列表。
- 打印排序后的列表。
示例
现在让我们来看一个按升序排序ArrayList的例子。在这里,我们对包含整数元素的ArrayList进行排序:
import java.util.ArrayList; import java.util.Collections; public class Demo { public static void main(String args[]) { ArrayList<Integer> myList = new ArrayList<Integer>(); myList.add(50); myList.add(29); myList.add(35); myList.add(11); myList.add(78); myList.add(64); myList.add(89); myList.add(67); System.out.println("Points
"+ myList); Collections.sort(myList); System.out.println("Points (ascending order)
"+ myList); } }
输出
Points [50, 29, 35, 11, 78, 64, 89, 67] Points (ascending) [11, 29, 35, 50, 64, 67, 78, 89]
在ArrayList中排序字符串元素
以下是使用Java按升序排序ArrayList的步骤:
- 从java.util包导入ArrayList和Collections类。
- 创建一个ArrayList来存储字符串值。
- 向列表中添加一些名称(字符串)。
- 打印排序前的列表。
- 使用Collections.sort()按字母顺序(升序)排序列表。
- 显示排序后的ArrayList。
示例
以下是另一个使用Java按升序排序ArrayList的代码。在这里,我们对包含字符串值的ArrayList进行排序:
import java.util.ArrayList; import java.util.Collections; public class Demo { public static void main(String args[]) { ArrayList<String> myList = new ArrayList<String>(); myList.add("Tim"); myList.add("John"); myList.add("Steve"); myList.add("Andy"); myList.add("Devillers"); myList.add("Jacob"); myList.add("Franco"); myList.add("Amy"); System.out.println("Student Names
"+ myList); Collections.sort(myList); System.out.println("Student Names (ascending)
"+ myList); } }
输出
Student Names [Tim, John, Steve, Andy, Devillers, Jacob, Franco, Amy] Student Names (ascending) [Amy, Andy, Devillers, Franco, Jacob, John, Steve, Tim]
广告